1. ホーム
  2. ruby-on-rails

[解決済み] RVMでRubyのデフォルトバージョンを設定するには?

2022-02-08 08:59:25

質問

Ubuntu 11です。

私は以下のようにしています。

$ rvm --default use 1.9.2 となり、得られる。

Using /home/md/.rvm/gems/ruby-1.9.2-p180 ということで良いのではないでしょうか。

しかし、新しいターミナルウィンドウを開くと、まだ表示されます。

$ ruby -v

ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

解決方法は?

bashrcにRVMのソース行を入れた場合(非インタラクティブシェルがRVMにアクセスできるようにするため)、.bash_profileの最後の行を次のようにして、.bashrcをソースにする必要があります。

if [ -f "$HOME/.bashrc" ]; then
  source $HOME/.bashrc
fi

を持っていることが前提になります。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

を$HOME/.bashrcに追加してください。これにより、対話型/ログイン型シェルと非対話型シェルの両方がRVMを正しく見つけてロードできるようになります。マルチユーザーインストールの場合は、 /etc/profile.d/rvm.sh ファイルを使用して同じことを行います。

この後、デフォルトで使用するRubyを定義するには

rvm 1.9.2 --default

または

rvm use 1.9.2@mygemset --default

デフォルトのジェムセットやグローバルなジェムセットを汚染しないように、使用するデフォルトのジェムセットを定義する方がよいでしょう。

非対話型シェルを使用している場合、シェルは通常SH互換モードで動作することに注意してください。

BASH_ENV="$HOME/.bashrc"

を$HOME/.profileに追加してRVMを読み込むか、スクリプトで直接設定します。これは、bashがSHモードで動作しているとき、.bash_profileや.bashrcを直接ロードしないためで、SHはこれらのファイルを使用せず、bashはSHシェルのロードと実行プロセスを模倣しようとしているのです。