目次
概要
最近Ruby on Railsを使ってプロジェクトを進めることになりました。このブログポストではRuby on Rails
をMacにインストールする方法とインストールしたRailsを使ってプロジェクトを始める方法について説明します。
- Rails公式サイト: https://rubyonrails.org/
このブログポストはシリーズで作成されてます。詳しく内容は下記のリンクを参考してください。
- MacでRuby on Railsを始める
- Railsで作ったプロジェクトのフォルダ構造
- Ruby on Railsを使って新しウェブページを作る
- ControllerとView、Routeとのデータ交換
- RailsでDBを使う方法
ここで使ったソースコードはGithubで確認できます。
Homebrewインストール
RailsをMacにインストールするためにはMacのパッケージ管理者であるHomebrew
を使え予定です。まず、下記のコマンドで、MacにHomebrewがインストールされたか確認します。
brew --version
既にHomebrewがMacにインストールされたら下記のような画面をみることができます。
Homebrew 2.2.6
Homebrew/homebrew-core (git revision 93ac3; last commit 2020-02-18)
Homebrew/homebrew-cask (git revision 373c1; last commit 2020-02-18)
上のような画面がかでる方は、次のステップに進んでください。上のような画面が出ない方は、下記のコマンドでHomebrewをインストールします。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
インストールが終わったら、下記のコマンドを実行してインストールがされたか確認します。
brew --version
インストールされたら、下記のような画面が見えます。
Homebrew 2.2.6
Homebrew/homebrew-core (git revision 93ac3; last commit 2020-02-18)
Homebrew/homebrew-cask (git revision 373c1; last commit 2020-02-18)
rbenvインストール
Macには基本的Ruby
がインストールされております。だから、すぐRailsをインストールしてもいいですが、色んなRubyのバージョンを使うため、ルビバージョン管理者であるrbenv
をインストールします。
下記のコマンドを実行してrbenvをインストールします。
brew install rbenv ruby-build
インストールが終わったら下記のような画面が見えます。
==> Pouring rbenv-1.1.2.catalina.bottle.tar.gz
🍺 /usr/local/Cellar/rbenv/1.1.2: 36 files, 69KB
==> Caveats
==> ruby-build
ruby-build installs a non-Homebrew OpenSSL for each Ruby version installed and these are never upgraded.
To link Rubies to Homebrew's OpenSSL 1.1 (which is upgraded) add the following
to your ~/.zshrc:
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])"
Note: this may interfere with building old versions of Ruby (e.g <2.4) that use
OpenSSL <1.1.
そして、上で出たように.zshrc
を開いて下記の内容を追加します。
# code ~/.zshrc
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])"
rbenv初期化
rbenvのインストールが終わったら、下記のコマンドを実行してrbenvを初期化します。
rbenv init
上のコマンドを実行したら下記のような画面が見えます。
# Load rbenv automatically by appending
# the following to ~/.zshrc:
eval "$(rbenv init -)"
上の説明通り、.zshrc
ファイルを開いて下記の内容を追加します。
# code ~/.zshrc
eval "$(rbenv init -)"
全ての設定がうまくできたか確認するため下記のコマンドを実行します。
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
実行が終わったら、下記のような画面が確認できます。
Checking for `rbenv' in PATH: /usr/local/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /usr/local/bin/rbenv-install (ruby-build 20200115)
Counting installed Ruby versions: none
There aren't any Ruby versions installed under `/Users/dev-yakuza/.rbenv/versions'.
You can install Ruby versions like so: rbenv install 2.2.4
Checking RubyGems settings: OK
Auditing installed plugins: OK
他のバージョンのRubyをインストール
Macに他のバージョンのRubyをインストールする方法について見てみましょう。まず、下記のコマンドを実行して現在のRubyのバージョンを確認します。
ruby -v
上のコマンドを実行したら下記のような画面が見えます。
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
下記のコマンドを使ってrbenvを使ってインストールできるRubyのバージョンを確認します。
rbenv install -l
上のコマンドを実行したら、下記のようなRubyのバージョンリストが確認できます。
...
truffleruby-1.0.0-rc3
truffleruby-1.0.0-rc5
truffleruby-1.0.0-rc6
truffleruby-1.0.0-rc7
truffleruby-1.0.0-rc8
truffleruby-1.0.0-rc9
truffleruby-19.0.0
truffleruby-19.1.0
truffleruby-19.2.0
truffleruby-19.2.0.1
truffleruby-19.3.0
truffleruby-19.3.0.2
truffleruby-19.3.1
Rubyのバージョンリストが多いなので、下記のコマンドを実行して一番最新の安定(Stable)されたRubyのバージョンを検索します。
rbenv install -l | sed -n '/^[[:space:]]*[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}[[:space:]]*$/ h;${g;p;}'
そしたら、下記のような結果が見えます。
2.7.0
下記のコマンドで一番最新のRubyをインストールします。
rbenv install 2.7.0
または、下記のコマンドでいつも、最新のRubyをインストールすることができます。
rbenv install $(rbenv install -l | sed -n '/^[[:space:]]*[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}[[:space:]]*$/ h;${g;p;}')
もちろん、古いバージョンもインストールできます。
rbenv install 2.3.1
インストールが終わったら、下記のコマンドを実行して新い環境を再設定します。
rbenv rehash
エラー対応
私はインストール中、下記のエラーが出ました。
Last 10 log lines:
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for cd using physical directory... cd -P
checking whether CFLAGS is valid... no
configure: error: something wrong with CFLAGS="-I/usr/local/include -L/usr/local/lib "
下記のように./zshrc
を修正して解決しました。
# code ~/.zshrc
export CFLAGS=""
バージョン変更
下記のコマンドを実行して現在インストールされたRubyのバージョンを確認します。
rbenv versions
上のコマンドを実行したら下記のような結果が見えます。
* system (set by /Users/dev-yakuza/.rbenv/version)
2.7.0
前に*
マークがついてるバージョンが現在選択されたバージョンになります。
下記のコマンドを実行してRubyのバージョンをもう一度確認します。
ruby -v
# ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
それで、下記のコマンドを実行してRubyのバージョンを変更します。
rbenv global 2.7.0
rbenv rehash
そして下記のコマンドを実行してバージョンを確認してみると、Rubyのバージョンが変わったことが確認できます。
ruby -v
# ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19]
rbenv versions
# system (set by /Users/dev-yakuza/.rbenv/version)
# * 2.7.0
Bundlerインストール
RubyのGem
を管理するBundler
をインストールします。GemはRubyのライブラリ、パッケージと考えるといいと思います。Bundlerはこのようなライブラリ、パッケージを簡単にインストールや管理することができるようにしてくれます。
下記のコマンドでBundlerをインストールします。
gem install bundler
インストールが終わったら、下記のコマンドを実行してBundlerがうまくインストールされたか確認します。
bundler -v
# Bundler version 2.1.4
Railsインストール
今度はRails
をインストールしてみます。下記のコマンドを使ってRailsをインストールします。
gem install rails
rbenv rehash
インストールが終わったら、下記のコマンドを使ってRailsがうまくインストールされたか確認します。
rails -v
# Rails 6.0.2.1
yarnインストール
Railsプロジェクトを生成、実行するためにはyarn
のインストールが必要です。yarnはjavascriptのライブラリをインストールや管理する時使うものになります。
下記のコマンドを使ってyarnをインストールします。
brew install yarn
Railsプロジェクトの生成や確認
インストールしたRailsを使ってRailsプロジェクトを生成してみましょう。下記のコマンドを使って新いRailsプロジェクトを生成します。
rails new StudyRails
プロジェクトを生成中に下記のようなメッセージが見える方は、
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
プロジェクトの生成が終わった後、下記のコマンドを実行します。
cd StudyRails
bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java
bundle install
もし、下記のようなエラーメッセージが表示されると、
Your Ruby version is 2.6.3, but your Gemfile specified 2.7.0
bundleのPathがうまく認識されないので、問題が発生します。私はこの問題を解決するため、.zshrc
ファイルに下記の内容を追加しました。
# code ~/.zshrc
alias bundler=/Users/$USER/.rbenv/shims/bundler
alias ruby=/Users/$USER/.rbenv/shims/ruby
alias bundle=/Users/$USER/.rbenv/shims/bundle
alias gem=/Users/$USER/.rbenv/shims/gem
alias rails=/Users/$USER/.rbenv/shims/rails
生成が終わったら、下記のコマンドでRailsプロジェクトを実行します。
# cd StudyRails
bundle exec rails server
もし下記のようなワーニングがでったら、
Warning: the running version of Bundler (2.1.2) is older than the version that created the lockfile (2.1.4). We suggest you to upgrade to the version that created the lockfile by running `gem install bundler:2.1.4`.
下記のコマンドで実行してみてください。
bundle exec rails server
実行が終わったら、ブラウザを使ってhttp://127.0.0.1:3000/
に移動してみます。
問題なく進めたら、上のようにRailsの初期画面を確認することができます。
完了
これでRailsプロジェクトを始めるため、Rubyのバージョンを変えってRailsをインストールする方法についてみてみました。私は簡単に設定できると思いましたが、以前jekyllのブログのため、.zshrc
に設定したPathの問題で結構黒しました。
export GEM_HOME=$HOME/gems
export PATH=$HOME/gems/bin:$PATH
皆さんももし、変な問題が発生したら、zshrcに変なPathが設定されたか確認してみてください。これでRailsを進めてみましょう!
参考
このブログポストはシリーズで作成されてます。詳しく内容は下記のリンクを参考してください。
- MacでRuby on Railsを始める
- Railsで作ったプロジェクトのフォルダ構造
- Ruby on Railsを使って新しウェブページを作る
- ControllerとView、Routeとのデータ交換
- RailsでDBを使う方法
ここで使ったソースコードはGithubで確認できます。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。