💎
Rails is not currently installed on this system.の対処方法
発生した問題
さて、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が読み込まれていることが確認できると思います。
参考サイト
Discussion