2011-10-08 126 views
28

Ubuntu的11如何使用RVM設置默認的Ruby版本?

我做到以下幾點:

$ 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]

+1

什麼版本的rvm?我在Ubuntu 10上,但我很懷疑能夠發揮作用。 〜/ .rvmrc中的任何內容? –

+0

如果您在新的終端窗口中運行「rvm list default」,會發生什麼情況? – bricker

+1

嘗試運行'rvm --default 1.9.2'代替。這對我行得通。 – Frost

回答

36

如果你把RVM源線在你的.bashrc(爲了確保非交互式shell有權訪問RVM),則需要使用.bash_profile的源代碼.bashrc作爲.bash_profile中的最後一行,以下內容:

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

這種預先假定您在$ HOME/.bashrc中有

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

。這是確保交互/登錄和非交互式shell都能夠正確查找和加載RVM的好方法。多用戶安裝通過/etc/profile.d/rvm.sh文件完成相同的操作。

之後,你應該有定義了默認的Ruby的使用沒有問題,通過

rvm 1.9.2 --default 

rvm use [email protected] --default 

其更好地定義一個默認的寶石使用,以免污染你的「默認'或'全局'寶石。

如果使用非交互shell,要知道,他們在genereally SH-兼容模式,然後要求你設置操作

BASH_ENV="$HOME/.bashrc" 

在$ HOME/.profile文件,以便加載RVM,或者直接在你的腳本中設置它。原因是當bash在SH模式下運行時,它不直接加載.bash_profile或.bashrc,因爲SH不使用這些文件,bash試圖模仿SH shell的加載和執行過程。

1

晚黨 - 反正。

你沒有正確設置默認的Ruby版本:rvm --default use 1.9.2

但是,你需要更新你的Gemfile到目標紅寶石,因爲RVM引用該文件,選擇工作的Ruby版本,當您打開終端,這就是爲什麼它恢復到以前的紅寶石版本。

0

要更改默認的紅寶石版本:

Ubuntu的

轉到Ubuntu默認的終端,然後按照說明進行操作:

1) Edit -> Profile Preferences 
2) Select "Title and Command" 
3) check "Run command as a login shell" 
4) restart terminal 

並運行此之後命令:

rvm - 默認使用[email protected]_name

相關問題