json_pure / ruby​​gems循环依赖

时间:2010-04-28 09:52:52

标签: ruby json rubygems

我在尝试设置rvm时遇到问题,因为它们依赖于json_pure而没有安装gem。我试图安装json_pure,但rubygems本身似乎依赖于json_pure。我已经尝试删除所有版本的json_pure,但rubygems仍然抱怨。

$ sudo gem install json_pure
/Library/Ruby/Site/1.8/rubygems.rb:777:in `report_activate_error': Could not find RubyGem json_pure (>= 0) (Gem::LoadError)

我尝试下载gem并在本地安装它,但rubygems仍然抱怨依赖。

4 个答案:

答案 0 :(得分:2)

我有这个确切的问题,上述解决方案对我不起作用。 (我不使用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

(您仍然会看到“找不到RubyGem json_pure”错误,但安装 工作。要仔细检查,您可以重做“sudo gem install json_pure-1.4.6.gem”并且您不应该t第二次看到错误。)

5)确认现在已安装json_pure:

gem list

答案 1 :(得分:1)

我通过将json和json_pure gems及其规范从工作的ruby目录复制到损坏的ruby的.rvm gem目录中来修复此问题。不确定为什么rubygems本身依赖于另一颗宝石。

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/

答案 2 :(得分:0)

如果您在安装RVM或使用RVM时遇到问题,我无法理解。 如果您需要安装RVM,请不要使用sudo。

输入

$ gem install rvm

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

使用RVM时,从不使用sudo

答案 3 :(得分:0)

当我删除主$ 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