【问题标题】:Ruby through RVM fails通过 RVM 进行 Ruby 失败
【发布时间】:2011-01-16 23:24:28
【问题描述】:

在 RPM 系统(操作系统基于 CentOS)上安装 Ruby 1.9.2 的持续战斗中,我再次尝试使用 RVM。

所以一旦我安装了它,我就会尝试使用它:

[root@quackwall ~]# rvm use 1.9.2
Using /usr/local/rvm/gems/ruby-1.9.2-p136
[root@quackwall ~]# ruby
bash: ruby: command not found
[root@quackwall ~]# which ruby
/usr/bin/which: no ruby in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

现在这很有趣; rvm info 说的完全不同:

[root@quackwall bin]# rvm info

ruby-1.9.2-p136:

  system:
    uname:       "Linux quackwall.highwow.lan 2.6.18-194.8.1.v5 #1 SMP Thu Jul 15 01:14:04 EDT 2010 i686 i686 i386 GNU/Linux"
    bash:        "/bin/bash => GNU bash, version 3.2.25(1)-release (i686-redhat-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.2.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]"

  ruby:
    interpreter:  "ruby"
    version:      "1.9.2p136"
    date:         "2010-12-25"
    platform:     "i686-linux"
    patchlevel:   "2010-12-25 revision 30365"
    full_version: "ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux]"

  homes:
    gem:          "/usr/local/rvm/gems/ruby-1.9.2-p136"
    ruby:         "/usr/local/rvm/rubies/ruby-1.9.2-p136"

  binaries:
    ruby:         "/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/ruby"
    irb:          "/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/irb"
    gem:          "/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/gem"
    rake:         "/usr/local/rvm/gems/ruby-1.9.2-p136/bin/rake"

  environment:
    PATH:         "/usr/local/rvm/gems/ruby-1.9.2-p136/bin:/usr/local/rvm/gems/ruby-1.9.2-p136@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p136/bin:bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/rvm/bin"
    GEM_HOME:     "/usr/local/rvm/gems/ruby-1.9.2-p136"
    GEM_PATH:     "/usr/local/rvm/gems/ruby-1.9.2-p136:/usr/local/rvm/gems/ruby-1.9.2-p136@global"
    MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.2-p136"
    IRBRC:        "/usr/local/rvm/rubies/ruby-1.9.2-p136/.irbrc"
    RUBYOPT:      ""
    gemset:       ""

所以我有 RVM 说一件事,而 bash 说另一件事。有关如何使其正常工作的任何建议?

【问题讨论】:

    标签: ruby bash rvm


    【解决方案1】:

    您为什么使用您的根帐户?

    [root@quackwall ~]
    

    RVM 旨在用作用户的沙箱,除非您进行系统范围的安装。对于正常使用,使用 root 权限和路径安装会搞砸。

    Installing system wide 要复杂得多,所以如果它只适合您,请使用标准安装。

    另外,请注意rvm use 1.9.2 指向:

    /usr/local/rvm/gems/ruby-1.9.2-p136
    

    但是:

    which ruby
    

    搜索路径中没有/usr/local/rvm/gems/ruby-1.9.2-p136

    /usr/bin/which: no ruby in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
    

    如果您打算使用系统范围的安装,您需要修改所有用户的所有~/.bashrc~/.bash_profile 文件,或者调整/etc/bashrc/etc/profile

    【讨论】:

    • 我有时以 root 身份运行,我认为这一次它不会影响任何事情。我今天会用标准帐户再试一次。
    • 这和将 rvm 的采购线移动到 .bashrc 因为我使用 byobu/screen 解决了问题。谢谢!
    【解决方案2】:

    我相信您没有按照说明更新您的.bashrc

    注意,更新.bashrc 后,您需要打开一个新的 bash 终端,以便重新加载环境。

    【讨论】:

    • 我确实这样做了,但是当我查看它指向的目录时( $HOME/.rvm/scripts/rvm )不存在......
    【解决方案3】:

    注意

    根据TheLQ 的指导/见解,我已经完全修改/澄清了我的答案。

    回答

    在全新安装 OSX 10.7 后,我通过 RVM 获得了 Ruby。对我来说,无论使用单用户 rvm,rvm 都失败了。 Sudo 结合对我的用户的一些权限和环境 $PATH 更改使其发生。这是我所做的:

    sudo bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )</pre>
    sudo rvm pkg install readline
    sudo rvm install 1.9.3
    

    从 root 用户安装 rvm 在 /usr/local/rvm/scripts/rvm 生成一个 shell 脚本
    从此可执行文件中提取代码并将其放在我的 .bash_profile 中,以便将 .bash_profile 保存为:

    [[ -s "/usr/local/rvm/scripts/rvm" ]] ;
        true ${rvm_path:="/usr/local/rvm"}
        source "/usr/local/rvm/scripts/rvm"
    [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
    

    用户组 RVM 是在 root 用户 rvm 安装期间创建的。我做的最后一件事是转到 OSX 10.7 中的首选项窗格并将我的用户添加到新的 rvm 组。最后我重新加载了我的终端,并能够通过 rvm 单用户安装 1.9.3。

    【讨论】:

    • 我很困惑,您的帖子添加了什么其他人尚未说过的内容?另外,仅供参考,作为新用户开始发布指向您网站的链接有点不悦。我个人不在乎,但其他人会。
    • rvm 对 ruby​​ 编程产生了重大影响,带来了持久的好处,但老实说,它不再是最好的了。我已经结束了,宁愿保持敏捷。那里有更好的东西。考虑使用rbenvry 等替代方案。
    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 2013-08-17
    相关资源
    最近更新 更多