RVM不会切换Rubies

我在CentOS上运行Ruby 1.9.1p243,我决定安装rvm来处理升级到1.9.2或降级到1.8.7(无论哪个更适合rails3)。

我按照这里的说明操作: http : //rvm.beginrescueend.com/rvm/install/并正确安装了所有内容。 我能够编译和安装Ruby 1.8.7,1.9.1和1.9.2。

但是,如果我尝试切换到其中一个rvm安装的Rubies,例如rvm使用1.8.7,则无效。 我的系统仍然使用我在/ usr / local / bin / ruby​​中安装的Ruby。

我获得的输出示例:

$ rvm use 1.8.7 $ ruby -v ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux] $ which ruby /usr/local/bin/ruby $ rvm use 1.9.2 $ ruby -v ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux] $ which ruby /usr/local/bin/ruby 

我不知道为什么会这样,我似乎也无法在网上找到任何关于这个问题的信息。 任何帮助,将不胜感激。

通常rvm支持最容易通过IRC(freenode上的#rvm) – 在这种特殊情况下,运行“type rvm | head -n1”显示什么? 它应该显示“rvm是一个函数”。 如果不是,这意味着源rvm的行没有正确运行,因此切换不起作用。 通常这意味着您要么在〜/ .bashrc中返回,要么您错过了将行添加到源rvm。

刚遇到同样的问题。

而不是将以下脚本附加到〜/ .bash_profile ,将其附加到〜/ .bashrc

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

然后重启终端。

您的安装是root帐户。 在shell [[-s“/ usr / local / rvm / scripts / rvm”]] &&中尝试这个。 “在/ usr /本地/ RVM /脚本/ RVM”

在rvm开关操作之前。 我在我的个人资料文件中添加了这一行,现在一切正常。

可能是终端问题,您应该尝试关闭终端窗口并打开新窗口。 :)再试一次,看看它是否有变化……

我一直在努力设置默认的rvm ruby​​无济于事,直到我试过这个:

 sudo bash -l -c 'rvm alias create default ruby-1.9.3-p392' 

sudo ”用于写入/ usr / local / rvm / config / alias (在我的示例中,它将包含“default = ruby​​-1.9.3-p392”)
bash -l ”是为了确保它运行登录shell的所有脚本(/ etc / profile,/ etc / bash.bashrc等等)