【问题标题】:Managing ruby versions using RVM使用 RVM 管理 ruby​​ 版本
【发布时间】:2011-02-13 21:21:41
【问题描述】:

我正在运行最新的 Snow Leopard,但遇到了 ruby​​ 版本的问题。

版本 1.8.7 从一开始就安装在 Mac 上。我按照所有说明使用 RVM 安装了 1.9.2。现在,当我尝试切换到运行 rvm use 1.9.2 的 1.9.2 时,它显示“使用 1.9.2”,但是当我运行 ruby -v 时,我仍然得到 1.8.7

似乎预装的 ruby​​ 版本不在 RVM 管理之下。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 我想我曾经遇到过类似的问题!卸载 1.8.7 并使用 RVM 重新安装呢?
  • 听起来预装版本出现在您的PATH 中比 rvm 版本更早。来源 rvm 的行是 bash_profile 或 bashrc 中的最后一件事吗?
  • @matt,我的 bash_profile 如下所示: export PATH=~/.rvm/bin/:$PATH export PATH=/opt/local/bin/:$PATH
  • 在此处查看 Post Install 部分:rvm.beginrescueend.com/rvm/install 基本上您需要删除 export PATH=~/.rvm/bin/:$PATH 行并将 [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 添加到 bash_profile 的末尾。

标签: ruby rvm


【解决方案1】:

似乎预装版的 ruby​​ 不在 RVM 管理下

没错。它是由 Apple 预装的,RVM 不会管理它。要恢复使用它,您可以执行rvm systemrvm use system,RVM 将不碍事。如果您定义了默认值,则可以使用 rvm default 切换回来;如果您使用 RVM 安装了其中一个版本,则可以使用 rvm 1.9.2rvm 1.8.7

并且,作为警告,Apple 安装了 1.8.7 以供其一些预安装的应用程序使用。不要乱搞安装,否则这些应用程序可能会停止工作,直到您忘记自己搞砸了,并且无法弄清楚它们为什么会损坏时,您可能不会注意到这一点。

至于为什么您仍然将 1.8.7 视为默认:

  • 您添加了吗 [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 到您的 ~/.bashrc~/.bash_profile?请参阅 RVM 安装页面上的 Post Install 部分并按照说明进行操作。
  • 您是否通过rvm use 1.9.2 --default 定义了要使用的默认 Ruby?

【讨论】: