💎

Rails is not currently installed on this system.の対処方法

2024/08/04に公開

発生した問題

さて、Ruby on Railsを使ってみるかーと思ったら一生環境構築が終わらない...
gem install railsってしたのにrails -vでversionが表示されない

$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

環境

verison
OS MacOS Sonoma 14.5
ruby 3.2.5(rbenv)

解決策の前に

まずは前提として現在の環境で使用されているrubyコマンドの実行ファイルパスがrbenvでインストールしたrubyを参照している必要があります。そのため、whichコマンドを用いてrubyコマンドがどこを参照しているか確認します。

which ruby

ここで

$ which ruby
/Users/<your-username>/.rbenv/shims/ruby

となった方はOKです。一方で

$ which ruby
/usr/bin/ruby

と出てきた場合はrbenvでインストールしたrubyではなく、Macにデフォルトでインストールされているrubyを参照してしまっています。そのため、お使いのシェルの設定ファイルを開き、パスの設定をします

# zshの場合.zshrcに下記を追加
export PATH="/opt/homebrew/bin:$PATH"
eval "$(rbenv init -)"

その後source .zshrcで設定ファイルを読み込むか、ターミナルを再起動してもう一度whichコマンドを利用して参照先が変更されていることを確認します。

解決策

続いて、本命のRails is not currently installed on this system.の対処法についてです。
おそらく現在みなさんはインストールが完了したにも関わらず、rails -vでバージョンを確認しようとすると、下記のエラーに遭遇してしまうかと思います。

$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

それではここで、railsコマンドがどこを参照しているか見てみます

which rails
/usr/bin/rails

どうやら、Macデフォルトのrubyを参照してしまっているようです。
この問題の解決策は

rbenv rehash

を利用してrbnevのシンボリックリンクを更新します。
すると、

$ which rails 
/Users/<your-username>/.rbenv/shims/rails
$ rails -v
Rails 7.1.3.4

となり、参照先が変更されてインストールされたrailsが読み込まれていることが確認できると思います。

参考サイト

https://qiita.com/amuyikam/items/313bc89c1de320a4257e
https://qiita.com/opiyo_taku/items/3312a75d5916f6cd32b1
https://zenn.dev/redheadchloe/articles/0940555ce461d9

Discussion