繁体   English   中英

出现“错误:无法构建gem本机扩展”的问题

[英]Issue with “ERROR: Failed to build gem native extension”

我正在尝试在github文件上运行捆绑安装,以获取有关Rails测试的教程。 当我尝试跑步时

bundle install

它安装了我的大多数宝石,然后给了我这个很长的错误。 我试图同时更新xcode和homebrew,但并没有帮助。 任何建议将不胜感激!

这是错误:

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

current directory:
/Users/johnseabolt/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/json-1.7.6/ext/json/ext/generator
/Users/johnseabolt/.rbenv/versions/2.3.1/bin/ruby -r ./siteconf20170209-69149-18f1540.rb extconf.rb 
creating Makefile

current directory: /Users/johnseabolt/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/json-1.7.6/ext/json/ext/generator
make "DESTDIR=" clean

current directory: /Users/johnseabolt/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/json-1.7.6/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
In file included from generator.c:1:
./../fbuffer/fbuffer.h:179:47: error: too few arguments provided to function-like macro invocation
VALUE result = rb_str_new(FBUFFER_PAIR(fb));
                                          ^
/Users/johnseabolt/.rbenv/versions/2.3.1/include/ruby-2.3.0/ruby/intern.h:797:9: note: macro 'rb_str_new' defined here
#define rb_str_new(str, len) __extension__ (    \
    ^
In file included from generator.c:1:
./../fbuffer/fbuffer.h:179:11: warning: incompatible pointer to integer conversion initializing 'VALUE' (aka 'unsigned
long') with an expression of type 'VALUE (const char *, long)' (aka 'unsigned long (const char *, long)')
[-Wint-conversion]
VALUE result = rb_str_new(FBUFFER_PAIR(fb));
      ^        ~~~~~~~~~~
1 warning and 1 error generated.
make: *** [generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in    /Users/johnseabolt/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/json-1.7.6 for
inspection.
Results logged to
/Users/johnseabolt/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/json-1.7.6/gem_make.out

An error occurred while installing json (1.7.6), and Bundler cannot continue.
Make sure that `gem install json -v '1.7.6'` succeeds before bundling.
Johns-MacBook-Pro:expense_tracker johnseabolt$ 

这是我从Github克隆的应用程序的gem文件:

source 'https://rubygems.org'

gem 'rails', '3.2.11'

 # Bundle edge Rails instead:
 # gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'pg'

group :development, :test do
   gem "rspec-rails", "~> 2.0"
end

group :test do
  gem 'factory_girl_rails'
  gem 'capybara'
end


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

尝试运行以下命令,然后运行捆绑软件安装

gem system --update

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM