【问题标题】:How do you update rubygems using rvm and ree?如何使用 rvm 和 ree 更新 ruby​​gems?
【发布时间】:2010-08-20 23:17:06
【问题描述】:

当 ree 是您的默认虚拟机(在 Snow Leopard 上)时,如何在 rvm 下更新 ruby​​gems?我在做:

$ rvm ree gem update --system

这导致看起来一切正常:

Updating RubyGems
Updating rubygems-update
Successfully installed rubygems-update-1.3.7
Updating RubyGems to 1.3.7
Installing RubyGems 1.3.7
RubyGems 1.3.7 installed

[...]

RubyGems installed the following executables:
        /Users/douglassellers/.rvm/rubies/ree-1.8.7-2010.02/bin/gem

但是当我运行 gem --version 时,它仍然显示 1.3.5。执行 which gem 指向 gem 的 ree 版本。

有人知道如何使用 RVM 更新 ruby​​gems 吗?

【问题讨论】:

  • 您是否确认 ree 是当前选择的 rvm ruby​​?例如rvm use ree 然后gem --version。我知道这听起来很愚蠢,但我之前遇到过一个错误:-(
  • 我已经验证了这一点。最奇怪的是,ruby gems 似乎认为它正在更新正确的文件。它说正在更新 ~/.rvm/rubies/ree-1.8.7-2010.02/bin/gem 并且当我执行“which gem”时它指向 ~/.rvm/rubies/ree-1.8.7-2010.02/bin/gem .那么require路径中一定有另一个版本的gem?不过我一个也看不到。

标签: ruby rubygems rvm


【解决方案1】:

现在你可以这样做了:

rvm rubygems latest

或者您可以定义您真正想要的红宝石。 https://rvm.io/rubies/rubygems/

【讨论】:

    【解决方案2】:

    我认为问题在于初始命令(或您期望该命令执行的操作):

    $ rvm ree gem update --system
    

    这告诉 rvm 将 gem update --system 传递给 ree 下的 gem,但它不会将您切换到特定的 Ruby 解释器。您继续使用您在该 shell 中设置的任何解释器(无论是默认情况下还是因为您在 shell 会话中较早手动切换)。

    例如,我的默认解释器是 Ruby 1.9.2。如果我通过此命令:rvm 1.9.1 gem install pony,则为 Ruby 1.9.1 安装了 Pony gem。但是,在安装完成后,我仍在使用 Ruby 1.9.2。如果我输入irb 并尝试require 'pony',我会收到加载错误。如果我运行rvm 1.9.1 然后输入irb,Pony 已安装并加载正常。

    正如 Brian 在他对您帖子的评论中所说,您可以使用 rvm use ree 手动切换。或者,您可以将初始命令切换为:

    $ rvm ree
    $ gem update --system
    $ gem --version
    

    【讨论】:

    • 这会产生与原始问题相同的结果。一切都说它正在更新, gem 说它更新了正确的文件,但是当你运行 gem --version 它仍然说旧版本。当我运行“which gem”时,它指向 ruby​​gems 刚刚报告它更新的同一个文件。
    • 请注意rvm gem ... 已被删除,请尝试使用gem update --systemrvm all do gem update --system。 (见:'rvm usage'
    【解决方案3】:

    rvm 建议我使用这样的东西:

    rvm ruby-1.9.3-p327@mygemset do gem update --system
    

    【讨论】:

      【解决方案4】:

      这是一个不寻常的问题。 如果还没有解决,考虑使用

      rvm --default use ree
      which ruby
      which gem
      

      这应该会显示您是否使用了正确的版本。
      使用 rvm 或直接安装 gems。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-09
        • 2011-03-22
        • 1970-01-01
        相关资源
        最近更新 更多