2011-05-22 71 views
0

我有以下Ruby版本(我在Linux(Ubuntu的))如何從ruby 1.9.2切換回ruby 1.8.7?

rvm list 

    ruby-1.8.7-p302 [ i386 ] 
    ruby-1.9.1-p378 [ i386 ] 
=> ruby-1.9.2-p0 [ i386 ] 

當我這樣做:

sudo rvm --default use 1.8.7 

我RVM紅寶石版本改爲:

=> ruby-1.8.7-p302 [ i386 ] 
    ruby-1.9.1-p378 [ i386 ] 
    ruby-1.9.2-p0 [ i386 ] 

但它不會改變我的系統寶石版本:

ruby -v 
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux] 

如何將我的系統ruby版本更改爲1.8.7?

回答

4

使用:

sudo rvm --default use 1.8.7 

改變它的根,不適合你。請記住,RVM主要用於爲用戶創建一個沙箱,而不是爲系統或其他用戶創建沙箱。由於您一直在使用sudo,這是一件壞事,您可能擁有現在由root擁有的東西,而不是您,這會導致您的Ruby系統表現得像它的心理。使用chown~/.rvm中所有文件的所有權切回給您。

用途:

rvm system 

切換回默認的紅寶石/usr/usr/local/opt。在這一點上調用哪一個將由PATH設置決定。

要當你做rvm list這顯示在您的帳戶版本之間切換,使用方法:

rvm use 1.8.7 

或者乾脆

rvm 1.8.7 

如果你想那是粘默認版本,添加在--default到該命令的末尾。

+0

謝謝田文,我現在可以瞭解rvm的工作原理 – sameera207 2011-05-22 21:00:23

2
rvm use 1.8.7 # WITHOUT SUDO 

而且不要在RVM中使用sudo。 RVM是避免sudo的一件事情。

+0

嗨fl00r,感謝您的回覆使用rvm使用1.8.7和得到使用/usr/local/rvm/gems/ruby-1.8.7-p302 但是當我做紅寶石-v仍然得到紅寶石1.9.2p0( 2010-08-18修訂版29036)[i686-linux],任何想法..再次感謝 – sameera207 2011-05-22 20:23:51

+0

是的。系統Ruby的路徑超過了rvm的路徑,所以它首先使用系統ruby。你可以這樣做:1.刪除系統紅寶石,2.或更改PATH變量。 – fl00r 2011-05-22 20:25:31