はじめに
私は、RailsをApple M1で動かすためにインストールしようとしましたが、いくつかのエラーに遭遇しました。その解決方法を備忘録として残します。
環境
- Apple M1
- macOS Venture: 13.2.1
- Homebrew: 4.0.19
- vi: version 9.0.981
どんな症状??
私は、rbenvにてRubyのバージョン管理をしたいと考えました。
$ gem install rails
Successfully installed rails-7.0.5
Parsing documentation for rails-7.0.5
Done installing documentation for rails after 0 seconds
1 gem installed
$ 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をインストールしたにもかかわらず、railsコマンドが使えませんでした。
PATHの確認
同じ問題が起きていると思い、PATHを再確認しました。
$ which ruby
/Users/hoge/.rbenv/shims/ruby
$ which gem
/Users/hoge/.rbenv/shims/gem
$ which rails
/usr/bin/rails
railsのみ、異なる場所を参照しています。
$ cat ~/.zshrc
export PATH="$HOME/.rbenv/shims:$PATH"
eval "$(rbenv init - zsh)"
念のため、.zshrc
を確認し、rbenv rehash
をしました。
しかし、私の場合では、解決することができませんでした。
解決策
$ gem install rails -v 7.0.5
$ rbenv rehash
上のサイトからバージョンを選択してください
$ which rails
/Users/hoge/.rbenv/shims/rails
$ rails -v
Rails 7.0.5
railsのバージョンを明示的にすることによって解決することができた。
考えられること
- インストールされているRailsのバージョン
古いバージョンのRailsがシステムにインストールされていた可能性
gem install rails
ではなく、gem install rails -v 7.0.5
を使用したことで、明示的に新しいバージョンのRailsをインストールし、正しくパスが参照されるようになった可能性があります。 - 環境のキャッシュやキャッシュの無効化
パスやgemの情報がキャッシュされることで動作しない可能性
パスの変更やgemのアップデートが反映されず、問題が発生することがあります。gem install rails -v 7.0.5
、rbenv rehash
を実行することで、キャッシュが無効化され、新しいパスが参照されるようになった可能性があります。
最後に
以上がApple M1でRailsをインストールしてもrailsコマンドが使えない問題への対処法です。
Railsをインストールした際に、ハマったことをメモしました。
参考サイト