2016-10-07 9 views
0

私はRails 4.2.7を使用しています。私はこのチュートリアルを作成しようとしています - https://github.com/webguyian/bookstoreしかし、 "json(1.8.0)のインストール中にエラーが発生し、Bundlerは続行できません"という奇妙なエラーが発生しました。 "gem install json -v '1.8.0' ""gem install json"はどのようにビルドするのですか?

localhost:bookstore-master davea$ gem install json -v '1.8.0' 
Building native extensions. This could take a while... 
ERROR: Error installing json: 
    ERROR: Failed to build gem native extension. 

    current directory: /Users/davea/.rvm/gems/ruby-2.3.0/gems/json-1.8.0/ext/json/ext/generator 
/Users/davea/.rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20161007-50119-1huurrz.rb extconf.rb 
creating Makefile 

current directory: /Users/davea/.rvm/gems/ruby-2.3.0/gems/json-1.8.0/ext/json/ext/generator 
make "DESTDIR=" clean 

current directory: /Users/davea/.rvm/gems/ruby-2.3.0/gems/json-1.8.0/ext/json/ext/generator 
make "DESTDIR=" 
compiling generator.c 
In file included from generator.c:1: 
./../fbuffer/fbuffer.h:175:47: error: too few arguments provided to function-like macro invocation 
    VALUE result = rb_str_new(FBUFFER_PAIR(fb)); 
              ^
/Users/davea/.rvm/rubies/ruby-2.3.0/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:175: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/davea/.rvm/gems/ruby-2.3.0/gems/json-1.8.0 for inspection. 
Results logged to /Users/davea/.rvm/gems/ruby-2.3.0/extensions/x86_64-darwin-14/2.3.0/json-1.8.0/gem_make.out 

私はこれが何を意味するのか、それを修正する方法がわかりません。何か案は?

答えて

1

使用しているjsonの宝石のバージョンは、Ruby> = 2.2と互換性がありません。 ruby 2.3でバージョン1.8.2以上のjson gemを使用してください。

機能と互換性の変更の詳細については、Changelogを参照してください。

しかし、ほとんどの場合、RubyでJSONデータを処理するために外部の宝石を用意する必要はありません。 Rubyの標準ライブラリに同梱されているJSON moduleは、完全に機能し、すでにRailsと互換性があります。

関連する問題