【问题标题】:Using RVM, but can't set current Ruby version (Ubuntu 11.10)使用 RVM,但无法设置当前 Ruby 版本(Ubuntu 11.10)
【发布时间】:2011-12-06 10:36:16
【问题描述】:

我最近在全新安装的 Ubuntu 11.10 上安装了 RVM,但不知道如何开始使用特定的 ruby​​ 版本。

我已经安装了 Ruby 1.8.7 和 1.9.2,它们在列表中显示得很好:

$ rvm list
rvm rubies
   ruby-1.8.7-p352 [ i386 ]
   ruby-1.9.2-p290 [ i386 ]

当我尝试使用“使用”命令时,一切似乎都很好:

$ rvm use 1.9.2
Using /usr/share/ruby-rvm/gems/ruby-1.9.2-p290
Running /usr/share/ruby-rvm/hooks/after_use

但是当我测试当前的 ruby​​ 版本时,我收到了当您根本没有 RVM 时通常会收到的 Ubuntu 11.10 消息:

$ ruby -v
The program 'ruby' can be found in the following packages:
 * ruby1.8
 * ruby1.9.1
Try: sudo apt-get install <selected package>

我做错了什么?我错过了 RVM 安装中的一个步骤吗?

编辑*

一些cmets的答案:

$ which ruby
#returns nothing at all.

$ which rvm 
/usr/bin/rvm

$ rvm -v
rvm 1.6.9 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]

$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

【问题讨论】:

  • 亚当,which rubywhich rvmrvm -v 命令返回什么?
  • rvm currentecho $PATH 返回什么?
  • 已按要求编辑答案并提供更新信息

标签: ruby rvm


【解决方案1】:

RVM 1.6.9 现在已经很老了。你是通过一些包管理器安装的吗?如果是这样,请摆脱它并在您的 bash shell 中运行以下命令:

curl -L https://get.rvm.io | bash -s stable

然后,将[[ -s "$HOME/.rvm/scripts/rvm" ]] &amp;&amp; . "$HOME/.rvm/scripts/rvm" 放入~/.profile~/.bash_profile~/.bashrc

然后你应该能够运行type rvm | head -n 1,它应该说“rvm 是一个函数”。

然后您应该能够安装 rubies 并使用其中之一。确保使用--default 使 Ruby 保持默认,即使在您结束终端会话后也是如此。例如。 rvm use ruby-1.9.2-p290 --default

【讨论】:

  • 其他答案帮助我理解了一些事情,但这一个解决了我的 RVM 问题。谢谢。
  • 另外,看起来最新的安装脚本现在实际上用该行更新了 .bashrc。所以可以跳过。
【解决方案2】:

您是否将以下行添加到您的.bash_profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

正如installation page for rvm 所说的那样?

【讨论】:

  • 是的,我补充说,除了奇怪的事情,当我在终端尝试cd $HOME/.rvm 时,我得到:No such file or directory
  • 通常 rvm 就在那儿,在$HOME/.rvm。在这种情况下,which rvm 返回$HOME/.rvm/bin/rvm。正如其他人所注意到的,您可能已将 rvm 安装在不同的目录中。
【解决方案3】:

就像 tass 建议的那样,你显然有一个不同的 rvm 目录然后 $HOME/.rvm 所以

[[ -s "/usr/share/ruby-rvm/scripts/rvm" ]] && . "/usr/share/ruby-rvm/scripts/rvm"

可能是你想用的

【讨论】:

    【解决方案4】:

    我知道这个线程已经过时了,但是在您的终端客户端的偏好中,检查“作为登录 shell 运行命令”为我解决了这个问题。 RVM 通常会为您将该行放在您的 ~/.bash_profile 中。

    【讨论】:

    • 感谢您的回答,即使它是“僵尸老”;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 2011-12-24
    • 2011-12-03
    相关资源
    最近更新 更多