【问题标题】:Rails Bundle Install Fails at Json Gem: Make FailedJson Gem 的 Rails Bundle 安装失败:Make 失败
【发布时间】:2016-01-09 05:41:58
【问题描述】:

尝试进行捆绑安装甚至 gem install json -v '1.8.1' 时出现以下错误

Installing json 1.8.1 with native extensions

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

current directory: /home/noname/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/json-1.8.1/ext/json/ext/generator
/home/noname/.rbenv/versions/2.3.0/bin/ruby -r ./siteconf20160109-4872-1jxs5yc.rb extconf.rb
creating Makefile

current directory: /home/noname/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/json-1.8.1/ext/json/ext/generator
make "DESTDIR=" clean

current directory: /home/noname/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/json-1.8.1/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
In file included from generator.c:1:0:
../fbuffer/fbuffer.h: In function ‘fbuffer_to_s’:
../fbuffer/fbuffer.h:175:47: error: macro "rb_str_new" requires 2 arguments, but only 1 given
 VALUE result = rb_str_new(FBUFFER_PAIR(fb));
                                           ^
../fbuffer/fbuffer.h:175:20: warning: initialization makes integer from pointer without a cast [enabled by default]
 VALUE result = rb_str_new(FBUFFER_PAIR(fb));
                ^
make: *** [generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in /home/noname/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/json-1.8.1 for inspection.
Results logged to /home/noname/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/json-1.8.1/gem_make.out

Ruby 版本:2.3.0 和 Rails 版本:4.0.3

我按照here 的建议尝试了解决方案,但也没有用。 请如果有人知道此问题或过去已解决此问题可以帮助我。

【问题讨论】:

    标签: ruby json ruby-on-rails-4


    【解决方案1】:

    如果链接中的上述解决方案不适合您,请尝试安装这两个

    sudo apt-get install libgmp3-dev
    sudo apt-get install libruby2.3
    

    让我知道这是否有效

    【讨论】:

    • 嗨@kanhaiya-agarwal,感谢您的回答。我按照您的说明安装了 libgmp3-dev,但是对于 libruby2.3,我收到错误:无法找到软件包 libruby2.3。我做了 sudo apt-get update 然后再试一次,仍然有同样的错误。你认为如果我使用像 2.2.3 这样的低版本 ruby​​ 问题会得到解决。
    • 嗨@kanhaiya-agarwal,我只是按照我所说的,安装了ruby 2.2.3,并且安装了所有捆绑包,没有错误。好吧,感谢您添加该命令: sudo apt-get install libruby2.3 在您的回答中。尽管它不起作用,但它激发了我检查罪魁祸首是否是最新版本的 ruby​​ 的好奇心。
    • 是的,因为你的 ruby​​ 版本是 2.3,我建议为它安装其他库 Libruby2.3。
    【解决方案2】:

    在尝试了一切之后,我的解决方案是下一个命令:

    rvm get head
    rvm –force install 2.3.0 # put your version of ruby
    rvm use 2.3.0 # the same version as above
    gem install bundle
    gem install rails
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-24
      • 2011-12-03
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 2013-12-26
      • 2012-09-26
      • 2013-06-26
      相关资源
      最近更新 更多