无法在ruby 2.2.1中安装json 1.8.3

时间:2015-09-08 14:07:19

标签: ruby json gem bundler

我在bundle install(已安装rvm 1.25.33)和Ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]

中运行bundler 1.10.6

当它尝试安装json 1.8.3时,我得到以下内容:

Installing json 1.8.3 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/home/andrew/.rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20150905-31357-cgs3dn.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.so

make "DESTDIR=" install
./install -m 0755 generator.so ./.gem.20150905-31357-199esvy/json/ext
make: ./install: Command not found
make: *** [install-so] Error 127

make install failed, exit code 2

在同一台主机上,我可以在ruby 2.1.3中安装json 1.8.3。

another SO question中,我看到了确保install可用的建议。当我install --help时,我得到有效的输出。

我该怎么办?为什么gem能够安装在2.1.3而不是2.2.1?

4 个答案:

答案 0 :(得分:12)

简单修复删除你的gem.lock文件并运行bundle install这应该重建gemlock文件并解决问题,我在尝试将我的开发环境从nitrous.io移动到cloud9时遇到了同样的错误。希望这个帮助

从migs120回复https://github.com/flori/json/issues/253

我使用macOS sierra,它的工作正常。

答案 1 :(得分:3)

我建议您在MacOS上尝试使用

bundle update json --conservative

它将解决该错误。

答案 2 :(得分:1)

在ubuntu中安装以下软件包

sudo apt-get install libgmp3-dev

了解更多信息 https://github.com/flori/json/issues/253

答案 3 :(得分:1)

在OSX中,执行以下操作

brew install coreutils