【问题标题】:json_pure/rubygems cyclic dependenciesjson_pure/rubygems 循环依赖
【发布时间】:2011-02-13 06:39:26
【问题描述】:

我在尝试设置 rvm 时遇到问题,由于 gem 依赖于 json_pure,因此无法安装 gem。我试图安装 json_pure,但 ruby​​gems 本身似乎依赖于 json_pure。我已经尝试删除所有版本的 json_pure,但 ruby​​gems 仍然抱怨。

$ sudo gem 安装 json_pure /Library/Ruby/Site/1.8/rubygems.rb:777:in `report_activate_error': 找不到 RubyGem json_pure (>= 0) (Gem::LoadError)

我已经尝试下载 gem 并在本地安装它,但 ruby​​gems 仍然抱怨依赖关系。

【问题讨论】:

    标签: ruby json rubygems


    【解决方案1】:

    我遇到了这个确切的问题,上述解决方案对我不起作用。 (我不使用 rvm,重新安装 RubyGems 并没有解决问题。)

    这就是我在 Mac 上修复设置的方法。 (Ruby 1.8.6,Mac OS X 10.5.8)

    1) 转至http://rubygems.org/gems/json_pure

    2) 将 json_pure gem 下载到 ~/Downloads

    3)cd ~/Downloads/

    4) sudo gem install json_pure-1.4.6.gem

    (您仍然会看到“Could not find RubyGem json_pure”错误,但安装确实工作。要仔细检查,您可以重做 'sudo gem install json_pure-1.4.6.gem',但您不应该看到第二次出错。)

    5) 确认 json_pure 现已安装:

    gem list
    

    【讨论】:

      【解决方案2】:

      我通过将 json 和 json_pure gem 及其规范从工作 ruby​​ 目录复制到损坏的 ruby​​ 的 .rvm gem 目录来解决了这个问题。不知道为什么 ruby​​gems 本身依赖于另一个 gem。

      cp -r ~/.rvm/gems/ruby-1.8.7-p249/gems/json* ~/.rvm/gems/ruby-1.8.6-p399/gems/ cp -r ~/.rvm/gems/ruby-1.8.7-p249/specifications/json* ~/.rvm/gems/ruby-1.8.6-p399/specifications/

      【讨论】:

        【解决方案3】:

        我不明白您是否在安装 RVM 或使用 RVM 时遇到问题。 如果需要安装 RVM,请不要使用 sudo。

        只需输入

        $ gem install rvm
        

        RubyGems 会将其安装在您的主目录中。 然后,继续 rvm-install 并按照说明进行操作。

        使用 RVM 时,切勿使用sudo

        【讨论】:

        • 问题不在于 rvm,而在于安装 rvm 后导入我的 gem。使用 ruby​​gems 安装 json_pure 时,rubygems 退出,因为它依赖于 json_pure,我首先尝试安装它(使用或不使用 sudo) gem install json_pure /Library/Ruby/Site/1.8/rubygems.rb:777:in `report_activate_error': 找不到 RubyGem json_pure (>= 0) (Gem::LoadError)
        • 感谢您的建议。我会记住,我不应该使用 .rvm 进行 sudo。有道理,因为它位于我的主目录中。
        【解决方案4】:

        当我删除主 $PATH 中的所有 json-pure 版本时,出现了这个问题。为了解决这个问题,我从源代码重新加载了 RubyGems 1.3.7,并且能够重新安装 json-pure gem。注意:我没有使用 RVM。

        步骤:

        1) 下载 RubyGem 1.3.7.tgz

        2) 在命令提示符下使用这些命令

        tar xzvf rubygems-1.3.7.tgz
        cd rubygems-1.3.7
        sudo /opt/local/bin/ruby setup.rb
        

        3) 试试 gem 命令

        gem list
        

        4) 如果可行,请安装 json-pure gem // 可能还需要安装 json gem。

        sudo gem install json
        sudo gem install json-pure
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-19
          • 2010-09-12
          • 2021-10-02
          • 1970-01-01
          相关资源
          最近更新 更多