【问题标题】:"gem update --system is disabled on Debian" error“gem update --system 在 Debian 上被禁用”错误
【发布时间】:2010-09-04 20:18:26
【问题描述】:

当我尝试更新 ruby​​gems(通过运行“gem update --system”)时,我收到此错误:

ERROR:  While executing gem ... (RuntimeError)
gem update --system is disabled on Debian. RubyGems can be updated using the official Debian repositories by aptitude or apt-get.

知道可能出了什么问题以及如何解决吗?

【问题讨论】:

    标签: ruby-on-rails ruby rubygems


    【解决方案1】:

    有两种方法:摆脱 debian ruby​​ 包并从源代码安装 ruby​​,或者您可以按照给您的说明进行操作:

    RubyGems 可以通过 aptitude 或 apt-get 使用官方 Debian 存储库进行更新。

    debian 的 ruby​​gems 由 apt 管理,因此您需要使用它进行更新。如果您不想,则需要自己安装 ruby​​,而不使用 apt。或者至少你需要自己安装 ruby​​-gems。试试这个:

    [sudo] apt-get 删除 ruby​​gems wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz tar xzf ruby​​gems-1.3.7.tgz cd ruby​​gems-1.3.7 [sudo] 红宝石设置.rb

    【讨论】:

    • 谢谢,我认为这是适合我的方式。我正在开发一些 Rails 应用程序,它们将如何受到影响?
    • 您可能需要重新安装所有必需的 gem,但除此之外,应该没有任何副作用。
    • 即使在 2014 年也是如此 :)
    • Debian 不会更改该政策。如果您从 debian 包安装 ruby​​gems,它确实不应该允许 ruby​​gems 覆盖由 debian 包安装的文件。即使是 2015 年,也希望它保持这种状态
    【解决方案2】:

    仅通过阅读错误消息,我建议通过 apt (sudo apt-get install rubygems) 而不是从 RubyGems 中更新 RubyGems。

    【讨论】:

    • 刚刚尝试过,但我似乎拥有与以前相同版本的 ruby​​gems (1.3.5)
    • 这可能是因为debian还没有更新rubygems。众所周知,Debian 在使用新版本的软件包之前会非常彻底。您可以尝试像我的回答一样手动安装它。
    【解决方案3】:

    在 debian wheezy 中

    然后它会安装最新版本和

    【讨论】:

    • 它会将 ruby​​ gem 安装为 gem1.8 而不是 gemgem update --system 只会将您刚刚安装的 gem 更新到最新版本,而不是您想要的。要链接你必须这样做:sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2016-09-06
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多