2011-10-08 131 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

相关问题