最佳答案
在尝试运行 cap production deploy
时出现以下错误。
DEBUG [dc362284] Bundler::GemNotFound: Could not find json-1.8.1.gem for installation
DEBUG [dc362284] An error occurred while installing json (1.8.1), and Bundler cannot continue.
DEBUG [dc362284] Make sure that `gem install json -v '1.8.1'` succeeds before bundling.
值得注意的是,这个部署正在工作,而不是升级到 Ruby2.1.0来删除一个编码错误。我在本地升级了,效果很好。我运行了 rvm install 2.1.0
和 rvm use 2.1.0
,然后修改了我的 .ruby-version
文件以反映这次 Ruby 升级。
bundle install
命令在本地可以工作,但是当我在目标服务器上运行 ssh 并运行此命令时,会产生同样的错误。
如果我运行 gem list
,我可以在 gems 列表中看到这一点。
...
jquery-rails (3.0.4)
json (1.8.1)
less (2.3.2)
...
如果我在本地和目标服务器上尝试推荐的解决方案 gem install json -v '1.8.1'
,我会得到以下输出:
Building native extensions. This could take a while...
Successfully installed json-1.8.1
Parsing documentation for json-1.8.1
Done installing documentation for json after 0 seconds
1 gem installed
看来宝石已经安装好了,对吧?为什么会这样?我该怎么解决这个问题?如果你能帮忙,我将不胜感激。