2012年4月15日日曜日

ruby rvm version 切り替えできない 解決法

rubyの勉強中。

ruby 1.9.xの環境がほしくて、インストールしようとしたら、ruby 1.8.7 の環境と共存できるツール rvm あると知って、インストールした。

インストール参考:

複数のRuby環境を共存させられるRVM(Ruby Version Manager)を使う - アインシュタインの電話番号☎ : http://d.hatena.ne.jp/ruedap/20110112/ruby_version_manager_rvm_install

rvm を使って versionの切り替えをしようとしたらできなかった。

原因は、bashrcに追記する設定でした。

上記サイト:

if [[ -s ~/.rvm/scripts/rvm ]] ; then source ~/.rvm/scripts/rvm ; fi

修正

if [[ -s /usr/local/rvm/scripts/rvm ]] ; then source /usr/local/rvm/scripts/rvm ; fi

これで、versionの切り替えができるようになった。

andre@andre-VirtualBox:/$ rvm 1.8.7
andre@andre-VirtualBox:/$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-linux]
andre@andre-VirtualBox:/$ rvm 1.9.3 andre@andre-VirtualBox:/$ ruby -v ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]
2012/4/28 追記:ーーーーーーーーーーーーーーーーーーーーーーーーーー
自分の環境がポシャったので、rvmを再インストールした。
バージョンは前回と同じかどうかはわからない。

同じところでつまづいたから、自分のこのブログをチェックして、/usr/local/rvmを確認したら、存在しないと怒られた><

find コマンドでrvmを探した結果、前回と異なる設定にしなければならないと分かった。
andre@andre-VirtualBox:~$ sudo find / -name rvm
[sudo] password for andre:
/usr/bin/rvm
/usr/share/ruby-rvm/scripts/rvm
/usr/share/ruby-rvm/bin/rvm
/usr/lib/ruby-rvm/rvm
/var/cache/ruby-rvm/src/rvm
/var/cache/ruby-rvm/src/rvm/scripts/rvm
/var/cache/ruby-rvm/src/rvm/binscripts/rvm
/var/cache/ruby-rvm/src/rvm/lib/rvm
/var/lib/gems/1.8/gems/rvm-1.11.3.3/lib/rvm
/var/lib/gems/1.8/doc/rvm-1.11.3.3/rdoc/files/lib/rvm
/var/lib/ruby-rvm/gems/ruby-1.9.3-p125@global/gems/rvm-1.11.3.3/lib/rvm
/var/lib/ruby-rvm/gems/ruby-1.9.3-p125@global/doc/rvm-1.11.3.3/rdoc/lib/rvm

共通のキーワードは「scripts」。
cache ディレクトリ配下は、おそらく違うだろうとあたりをつけ、 ~/.bashrc に下記の設定を追記した。

if [[ -s /usr/share/ruby-rvm/scripts/rvm ]] ; then source /usr/share/ruby-rvm/scripts/rvm ; fi

うまくいった。

andre@andre-VirtualBox:~$ rvm use 1.9.3-p125
Using /usr/share/ruby-rvm/gems/ruby-1.9.3-p125
andre@andre-VirtualBox:~$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]

andre@andre-VirtualBox:~$ rvm use system
Now using system ruby.
andre@andre-VirtualBox:~$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]

0 件のコメント:

コメントを投稿