Tho*_*mas 80 gem capistrano ruby-on-rails bundler
尝试运行时出现以下错误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.
Run Code Online (Sandbox Code Playgroud)
值得注意的是,此部署正在运行,而不是我升级到Ruby 2.1.0以消除编码错误.我本地升级,工作正常.我跑rvm install 2.1.0
,并rvm use 2.1.0
随后改变了我的.ruby-version
文件,以反映该红宝石升级.
该bundle install
命令在本地工作,但当我ssh到目标服务器并运行此命令时,会产生相同的上述错误.
如果我跑,gem list
我可以在宝石列表中看到这一点.
...
jquery-rails (3.0.4)
json (1.8.1)
less (2.3.2)
...
Run Code Online (Sandbox Code Playgroud)
如果我在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
Run Code Online (Sandbox Code Playgroud)
所以它似乎安装了宝石,对吗?为什么会这样?我怎么解决这个问题?任何帮助将不胜感激.
Tho*_*mas 68
所以经过半天的这一天,几乎在发布我的问题之后,我找到了答案.Bundler 1.5.0有一个错误,它无法识别此处引用的默认gem
解决方案是使用更新到bundler 1.5.1 gem install bundler -v '= 1.5.1'
dnv*_*trn 68
$ bundle update json
$ bundle install
Run Code Online (Sandbox Code Playgroud)
Jui*_*007 40
如果你在MacOS Sierra,你的ruby版本是2.4.0.ruby版本与json 1.8.3不兼容.
您可以尝试在Gemfile中添加以下行:
gem 'json', github: 'flori/json', branch: 'v1.8'
这适合我!
Aje*_*han 20
我在这里找到了解决方案.json版本1.8.1和ruby 2.2.3存在问题,因此请安装json 1.8.3版本.
gem install json -v1.8.3
Run Code Online (Sandbox Code Playgroud)
小智 12
你应该试试
$ sudo gem install json -v '1.8.2'
Run Code Online (Sandbox Code Playgroud)
在我的情况下(Ubuntu 14.04)没有直接工作,我必须这样做:
$ sudo apt-get install ruby-dev
Run Code Online (Sandbox Code Playgroud)
然后我可以安装宝石并继续.还有一个问题是:
$ sudo apt-get install libsqlite3-dev
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
我试图让一个项目在我的本地开发盒(OSX 10.6)上运行时遇到了这个错误,使用了Sinatra和Postgresql(通过activerecord),在rvm'd ruby 2.1上运行.我在这里找到了答案:https://github.com/wayneeseguin/rvm/issues/2511
我的确切问题(在第一个日志条目块之后):
尝试为宝石构建原生扩展时,我也遇到错误
的回答:
rvm重新安装2.1.0 --disable-binary
的解释:
OSX没有包管理器,所以所有库都必须由用户手动安装,这使得几乎不可能动态链接二进制文件,正如您所看到的那样,(伪)静态链接二进制文件存在问题.
为了完整起见,我首先忘记更新rvm(rvm get head
),这会产生一些其他错误,但是--disable-binary
一旦我这样做了仍然需要标志.
如果推荐的答案没有用,因为您已经在使用更新版本的bundler.尝试适合我的解决方案.
删除供应商文件夹中的所有内容 在gemfile中添加一行
gem 'json', '1.8.0'
Run Code Online (Sandbox Code Playgroud)
然后跑 - bundle update json
.
这似乎是1.8.1的一个问题,所以回到1.8.0对我来说是个窍门.
小智 5
当我试图安装使用JSON宝石gem install json
从仅仅使用单独的bundle install
我ERROR: Failed to build gem native extension.
,看着那个,我发现使用
apt-get install ruby-dev
Run Code Online (Sandbox Code Playgroud)
成功了
归档时间: |
|
查看次数: |
105102 次 |
最近记录: |