无法安装JSON gem

时间:2011-03-07 05:45:50

标签: ruby gem bundler

我需要安装json,因为我收到此错误:

Could not find json-1.4.6 in any of the sources

我运行gem install jsonbundle install但我只能在需要json-1.4.6时安装json-1.5.1

我的gemfile中有gem 'json', '1.4.6',所以我不确定发生了什么......

更新

我收到此错误:

安装json(1.4.6)/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1216:in`chmod':不允许操作 - / Library /Ruby/Gems/1.8/gems/json-1.4.6/CHANGES(Errno :: EPERM)

7 个答案:

答案 0 :(得分:10)

通过运行$ heroku logs检查日志

我发现“安装json(1.4.6)时出错,而Bundler无法继续。        在捆绑之前确保gem install json -v '1.4.6'成功。“

然后我从Gemfile.lock中删除了2个json条目,并且没有其他问题。

答案 1 :(得分:9)

你为什么要运行gem install json? Bundler会为您解决这个问题,并确保安装每个gem的正确版本(因为有时依赖项需要旧版本)。运行

gem uninstall json
bundle install

同时确保您的Gemfile顶部有source 'https://rubygems.org'

对于权限信息,您可能必须使用gem运行bundlesudo命令。

顺便说一句,我高度建议您查看并使用RVM,尤其是gemsets功能。在开发Ruby应用程序时,它将使您的生活更加美好。如果您决定这样做,我还建议您通过运行sudo rm -rf /Library/Ruby/Gems/1.8/来删除使用系统Ruby安装的所有gem。同样重要的是,在使用RVM时,您不必在运行sudo(或gem)时使用bundle,这不仅更安全,而且输入也更少。

答案 2 :(得分:5)

请执行以下命令更新您的rubygems ..

gem update --system

可能会解决问题。更新宝石后。然后运行以下命令安装json

gem install json

现在您可以在系统中安装json gem。

答案 3 :(得分:3)

尝试: $ sudo apt-get install ruby​​1.8-dev

答案 4 :(得分:0)

如果您正在使用rbenv,请尝试rbenv rehash

答案 5 :(得分:0)

尝试用Jekyll建立网站时遇到了这个问题。

原来我没有按照https://jekyllrb.com/docs/installation/ubuntu/

上的所有说明进行操作

我不知道它是否是〜/ .bashrc中缺少的软件包或命令,但它在WSL中的两个Ubuntu实例中解决了该问题

答案 6 :(得分:-1)

从Gemfile.lock文件中删除json条目,并尝试重新运行bundle install ..