先日、Rubyのバージョンアップして、新しいバージョンでRailsアプリを作成しようとしたら、エラーが発生しました。
その時のRubyのバージョンアップ実施方法とエラーの原因、対処方法について備忘録としてまとめました。
###環境
MacOS 11.5.2
Ruby 2.6.6(バージョンアップ前) → 3.0.2(バージョンアップ後)
Rails 6.1.4
###バージョンの確認
バージョンをあげる前に、現在のrubyのバージョンを確認する。
$ ruby -v
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-darwin19]
$ rbenv version
2.6.6 (set by /Users/username/.rbenv/version)
###homebrewのバージョンアップとrbenvの導入
homebrewのアップデートとrbenvをインストールを実施します。
rbenvは、Rubyのバージョン管理ツールで、複数のrubyを管理、切り替えできます。
# homebrewを最新版にアップデートする
$ brew update
# rbenvのインストールと最新版へのアップグレード
$ brew install rbenv ruby-build
$ brew upgrade rbenv
ここから、Rubyをインストールしていきます。
まず、インストールできるRubyのバージョンを確認します。
確認後、インストールしたいバージョンを指定して、インストールします。
インストール完了したら、インストールできているか確認し、バージョンを切り替えます。
# インストール可能なrubyのバージョンを確認する
$ rbenv install -l
# バージョンを指定してrubyをインストールする
$ rbenv install 3.0.2
# インストールが完了したら、バージョンを確認する
$ rbenv versions
system
* 2.6.6 (set by /Users/username/.rbenv/version)
3.0.2
# Rubyのバージョンを切り替える
$ rbenv global 3.0.2
# 再度バージョンを確認する
$ rbenv versions
system
2.6.6
* 3.0.2 (set by /Users/username/.rbenv/version)
$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin20]
$ rbenv version
3.0.2 (set by /Users/username/.rbenv/version)
バージョンの切り替えは以上になります。
バージョンアップ後、railで新しいアプリを作成しようとすると、エラーが発生しました。
$ rails _6.1.4_ new appname
rbenv: rails: command not found
The `rails' command exists in these Ruby versions:
2.6.6
どうやら、新しくインストールしたruby:3.0.2
にはrailsがインストールされていないことが原因のようです。
# rbenv(3.0.2)の中身を確認する
$ cd ~/.rbenv/versions/3.0.2/bin
$ ls
bundle erb irb rake rdoc ruby
bundler gem racc rbs ri typeprof
#railsが含まれていないことが確認できた
原因を確認できたので、railsをインストールしていく。
Railsチュートリアルの方法に沿ってインストールする。
$ cd
$ echo "gem: --no-document" >> ~/.gemrc
$ gem install rails -v 6.1.4
Fetching rack-2.2.3.gem
・
・
・
37 gems installed
インストール完了後、再びrails _6.1.4_ new appname
を実施すると、実行できました。
以上です。