我需要安装json,因为我收到此错误:
Could not find json-1.4.6 in any of the sources
我运行gem install json
和bundle 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)
答案 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
运行bundle
和sudo
命令。
顺便说一句,我高度建议您查看并使用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 ruby1.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 ..