【问题标题】:Link ruby to RVM将 ruby​​ 链接到 RVM
【发布时间】:2014-03-15 00:33:42
【问题描述】:

我尝试寻找答案大约一个小时,但没有运气。我已经用我的 rvm 安装了ruby-2.0.0,但系统只检测到旧的ruby-1.9.3!我将/usr/bin/ruby 中的符号链接更改为指向我的~/.rvm ruby​​,现在当我运行ruby -v

ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux]

但是,当我尝试启动 rails server 时,我收到错误消息,指出我当前的 ruby​​ 版本是 1.9.3 我运行 gem env 并得到了令人惊讶的结果:

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.23
  - RUBY VERSION: 1.9.3 (2012-04-20 patchlevel 194) [x86_64-linux]
  - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
  - RUBY EXECUTABLE: /usr/bin/ruby1.9.1
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /var/lib/gems/1.9.1
     - /home/username/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri"
     - "update" => "--no-rdoc --no-ri"
  - REMOTE SOURCES:
     - http://rubygems.org/

如您所见,它指向错误的位置。我尝试修改 .gemrc 以使其正常工作,但它仍然拒绝更改它的 ruby​​ 安装目录。我不知道如何解决它。我尝试将它们全部删除并重新开始,但显然它们不是通过apt-get 安装的,所以我不知道如何删除它们!

任何帮助将不胜感激。 仅供参考:

$ gem -v                                                    
1.8.23

【问题讨论】:

    标签: ruby-on-rails ruby gem rvm


    【解决方案1】:

    首先列出 RVM 中的 ruby​​ 版本

    rvm list
    

    比如我说的

       ruby-1.9.3-p484 [ x86_64 ]
    =* ruby-2.1.0 [ x86_64 ]
    
    # => - current
    # =* - current && default
    #  * - default
    

    要使用 ruby​​ 版本,请使用类似的命令

    rvm use ruby-2.1.0
    

    你可以像这样设置默认红宝石

    rvm use --default ruby-2.1.0
    

    现在检查你的 ruby​​ 版本

    ruby -v
    

    确保非交互式 shell 可以访问 RVM

    使用此命令编辑.bashrc

    sudo gedit /home/$USER/.bashrc
    

    确保那里有这些行。如果不添加。

    PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
    [[ -s "/home/`whoami`/.rvm/scripts/rvm" ]] && source "/home/`whoami`/.rvm/scripts/rvm"
    

    现在使用此命令编辑您的 .bash_profile

    sudo gedit /home/$USER/.bash_profile
    

    确保那里有这些行。如果不添加。

    if [ -f "$HOME/.bashrc" ]; then
      source $HOME/.bashrc
    fi
    

    重启你的终端。

    【讨论】:

    • 谢谢你,你是一个救生员。但是我必须使用--login 标志运行我的shell。当我尝试使用普通外壳时,它没有使用rvm list 上的任何红宝石。我已经设置了默认值,但它没有使用它们。我是否必须重新启动或者我错过了其他东西?
    • @Arijoon 更新了我的答案
    【解决方案2】:

    如果你想彻底摆脱rvm,使用命令

    rvm implode
    

    但除此之外,一旦您使用 rvm 安装了 ruby​​ 2.0.0,您是否也在使用它?使用命令

    rvm use 2.0.0
    

    这应该设置它。要检查正在使用哪个 ruby​​,请尝试以下命令

    which ruby
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多