无法安装JSON gem

Jus*_*zer 11 ruby gem bundler

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

Could not find json-1.4.6 in any of the sources

我跑gem install jsonbundle install,但我只能当我需要安装JSON-1.5.1 JSON-1.4.6

我有gem 'json', '1.4.6'我的宝石文件,所以我不确定发生了什么...

UPDATE

我收到此错误:

安装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)

Kmb*_*b40 10

通过运行$ heroku日志检查日志

我发现"安装json(1.4.6)时发生了错误,Bundler无法继续.请确保gem install json -v '1.4.6'在捆绑之前成功."

然后我从Gemfile.lock中删除了2个json条目,没有进一步的问题.


And*_*all 9

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

gem uninstall json
bundle install
Run Code Online (Sandbox Code Playgroud)

还要确保您拥有source 'https://rubygems.org'Gemfile的顶部.

至于权限信息,您可能必须运行gembundle命令sudo.

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


Sha*_*zam 5

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

gem update --system
Run Code Online (Sandbox Code Playgroud)

也许它会解决问题.更新宝石后.然后运行以下命令来安装json

gem install json
Run Code Online (Sandbox Code Playgroud)

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