2016-06-30 4 views
1

Я делаю проект, используя реагирующие-рельсы, но когда я бегуНе удалось найти JSon-1.8.1 ни в одном из источников

bundle install 

Я получаю

Could not find json-1.8.1 in any of the sources 

В частности, это вся ошибка

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

    current directory: /Users/montana/.rvm/gems/ruby-2.3.0/gems/json-1.8.1/ext/json/ext/generator 
/Users/montana/.rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20160629-5602-i1di2t.rb extconf.rb 
creating Makefile 

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

current directory: /Users/montana/.rvm/gems/ruby-2.3.0/gems/json-1.8.1/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/montana/.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 

Там было различные сообщения об этом на StackOverflow, и попытались наиболее «решения, но никто, кажется, работает для меня, я аль так побежал

gem list | grep json 

Он говорит, что я имею JSon камень через

json (1.8.3) 
multi_json (1.10.1) 

Я попытался остановить весну, обновление драгоценных камней, & Bundler. Я также бежал

rbenv rehash 

Безрезультатно, все еще получая эту ошибку, любой ввод был бы высоко оценен.

+0

что происходит, когда вы очистите свой Gemfile.lock и запустить 'расслоение install' снова? – oreoluwa

+0

Спасибо за ответ oreoluwa, он дает мне такую ​​же ошибку. Чтобы подтвердить, что у меня действительно есть json, я также запускал «json-version» – Montana

+0

Взгляните на это: http://rubyofftherails.blogspot.com/2016/06/building-native-extensions-for-ruby-gems.html –

ответ

1

Возможно, вы захотите опустить рубиновую версию или увеличить версию json. См.: https://github.com/flori/json/issues/229

Быстро посмотрел на json 1.8.1 gemspec и не упоминал о рубине 2.3.0 поддержки на сегодняшний день.

+0

Я использую json 1.8.1 с ruby ​​2.3.1 и не имею проблем до сегодняшнего дня. –

+0

Спасибо большое gemspec, я закончил работать «rvm install ruby-2.1.1», а затем запустить «rvm use ruby-2.1.1» работал как шарм. – Montana

3

У меня была проблема в последний раз на Ubuntu, я попытался установить этот library, и он сработал.

sudo apt-get install libgmp3-dev 

Вы можете сослаться на документ: Failed to build gem json native extension

Смежные вопросы