如何使用RVM设置默认的Ruby版本?

Mic*_*ant 38 ruby ruby-on-rails rvm ruby-1.9.2

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]

ddd*_*ddd 43

如果您将RVM源代码行放在bashrc中(为了确保非交互式shell可以访问RVM),您需要从.bash_profile中获取.bashrc,并将以下内容作为.bash_profile中的最后一行.

if [ -f "$HOME/.bashrc" ]; then
  source $HOME/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)

这预先假设你有

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Run Code Online (Sandbox Code Playgroud)

在$ HOME/.bashrc中.这是确保交互式/登录和非交互式shell能够正确查找和加载RVM的好方法.多用户安装通过/etc/profile.d/rvm.sh文件完成相同的操作.

之后,您应该没有定义要使用的默认Ruby的问题

rvm 1.9.2 --default
Run Code Online (Sandbox Code Playgroud)

要么

rvm use 1.9.2@mygemset --default
Run Code Online (Sandbox Code Playgroud)

最好定义一个默认的gemset来使用,以免污染你的'默认'或'全局'gemsets.

如果您使用的是非交互式shell,请注意它们通常在SH兼容模式下运行,然后需要您进行设置

BASH_ENV="$HOME/.bashrc"
Run Code Online (Sandbox Code Playgroud)

在$ HOME/.profile中,以便加载RVM,或直接在脚本中设置它.原因是当bash在SH模式下运行时,它不会直接加载.bash_profile或.bashrc,因为SH不使用这些文件,而bash正试图模仿SH shell的加载和执行过程.


小智 10

执行"rvm列表"以查看已安装的Ruby版本.

如果您只想在一个终端会话中更改版本,请执行此操作:

rvm use 1.8.7
Run Code Online (Sandbox Code Playgroud)

如果要为此用户帐户选择默认版本,请执行以下操作:

rvm use --default 1.9.2
Run Code Online (Sandbox Code Playgroud)

看到:

rvm use --help
Run Code Online (Sandbox Code Playgroud)

另请参阅此RailsCast:

http://railscasts.com/episodes/200-rails-3-beta-and-rvm

http://beginrescueend.com/