【问题标题】:Why won't my rvm allow me to switch to an alternative Ruby?为什么我的 rvm 不允许我切换到替代 Ruby?
【发布时间】:2012-06-07 21:13:11
【问题描述】:

Ubuntu 已经安装了 Ruby 1.8.7。然后我安装了rvm并用它来安装Ruby 1.9.2,也就是我要使用的版本。但是,ruby -v 总是返回 1.8.7。

如何让 rvm 使用 Ruby 1.9.2?

bxu@vm-bxu:~$ rvm use 1.9.2
Using /usr/share/ruby-rvm/gems/ruby-1.9.2-p320
bxu@vm-bxu:~$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

【问题讨论】:

  • 你的问题和标题似乎在问完全不同的东西。

标签: ruby rvm


【解决方案1】:

问题

RVM 有自己的安装魔法,但在 Ubuntu 中,它并不总是安装到正确的 Bash 启动文件中。你可能实际上没有让 RVM 正常运行。即使它已经安装了。

修复

您需要确保以下两行位于 ~/.bashrc 文件的底部。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
export PATH=$PATH:$HOME/.rvm/bin

然后重新启动您的终端模拟器或重新登录。请注意,采购 ~/.bashrc 已知在某些情况下工作,所以这一步将节省您的理智。

RVM 现在应该可以正常工作了。最后一步是设置默认的 Ruby。

rvm --default use 1.9.2

重要编辑

正如我刚刚被提醒的那样,RVM 通过安装 ~/.bash_login 来破坏 Ubuntu 登录 shell,它会覆盖登录 shell 中的 Ubuntu ~/.profile。如果您尚未将代码移至 ~/.bashrc,然后删除或重命名 ~/.bash_login。

【讨论】:

    【解决方案2】:

    从终端:

    rvm use 1.9.2
    

    【讨论】:

    • 如果没有 --default 标志,用户每次都需要这样做。
    【解决方案3】:

    在 Ubuntu 上,您需要在终端模拟器中启用登录 shell,我们在 rvm 网站上有一个很好的文档: https://rvm.io/integration/gnome-terminal/

    【讨论】:

    • RVM 坚持在安装过程中创建 ~/.bash_login。 Ubuntu 11.x 默认不使用该文件(它使用 ~/.profile),所以这个建议只会使问题长期存在。
    • 在 ~/.profile 中加载 rvm 是有问题的,因为它是在用户登录开始时加载的,而 rvm + 它将为整个会话设置默认值,因此更改默认 ruby​​ 将不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 2014-03-01
    相关资源
    最近更新 更多