homebrew を使用して別のバージョンの Ruby に切り替える
概要
移行アシスタントを使用して MacBook を移行しました。以前のラップトップで作業していた 2 つの Rails アプリがあり、新しいラップトップでこれらのアプリを操作しようとすると、1 つは正常に動作し (レストラン アプリ)、もう 1 つ (クイズ アプリ) はサーバーの電源を入れようとすると、これを取れ
Your Ruby version is 2.2.3, but your Gemfile specified 2.5.1
どちらのアプリにも Ruby バージョン 2.5.1 が搭載されています。あるアプリ(レストランアプリ)ではサーバーを実行でき、もう一方(クイズアプリ)ではサーバーを実行できない理由は何でしょうか。
以下のコマンドを実行してRubyのバージョンを2.5.1に切り替えてみました。
brew unlink [email protected] && brew link --force --overwrite [email protected]
しかし、エラーが発生します
No such keg: /usr/local/Cellar/[email protected]
この問題を解決するのを手伝ってください。
解決策
一般的には、Ruby バージョン マネージャーを使用することをお勧めします。 2 つの主要なものは、RVM (https://rvm.io/) と rbenv です。
私は個人的に rbenv とその shim の使用の大ファンです (バンドラーを使用したり、xcversion 経由で xcode のバージョンを切り替えると、個人的には問題が少なくなります) https://github.com/rbenv/rbenv
brew install rbenv
rbenv install 2.5.1
rbenv use 2.5.1
オプションで、プロジェクト ルートで .ruby-version ファイルを使用して、問題が再び発生しないようにすることもできます。 https://github.com/rbenv/rbenv#choosing-the-ruby-version
# in your project root
echo '2.5.1' > .ruby-version
このようにして、プロジェクト ルートで起動するだけで、アプリケーションに使用するバージョンを簡単に選択できます。