20

我在 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

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

4

5 回答 5

25

刚遇到同样的问题。

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

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

然后重启终端。

于 2011-03-20T03:37:43.000 回答
17

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

于 2010-07-18T22:07:09.810 回答
12

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

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

于 2010-09-11T13:25:17.153 回答
0

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

于 2011-03-23T01:48:00.637 回答
0

我一直在努力将默认 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 ” 是为了确保它运行所有脚本(/etc/profile, /etc/bash.bashrc, etc..) 的登录shell

于 2016-05-17T21:00:33.643 回答