2015-03-31 2 views
3

У меня возникают следующие ошибки при попытке запуска bundler.Json gem установка не работает. Xcode уже установлен и обновлен

bundle install 
Fetching gem metadata from https://rubygems.org/........... 
Fetching version metadata from https://rubygems.org/.. 
Using rake 10.0.4 
Using i18n 0.6.1 
Using multi_json 1.7.3 
Using activesupport 3.2.13 
Using builder 3.0.4 
Using activemodel 3.2.13 
Using erubis 2.7.0 
Using journey 1.0.4 
Using rack 1.4.5 
Using rack-cache 1.2 
Using rack-test 0.6.2 
Using hike 1.2.2 
Using tilt 1.4.1 
Using sprockets 2.2.2 
Using actionpack 3.2.13 
Using mime-types 1.23 
Using polyglot 0.3.3 
Using treetop 1.4.12 
Using mail 2.5.4 
Using actionmailer 3.2.13 
Using arel 3.0.2 
Using tzinfo 0.3.37 
Using activerecord 3.2.13 
Using activeresource 3.2.13 
Using coffee-script-source 1.6.2 
Using execjs 1.4.0 
Using coffee-script 2.2.0 
Using rack-ssl 1.3.3 

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

    /Users/camerons/.rvm/rubies/ruby-2.2.0/bin/ruby -r ./siteconf20150331-784-1yax4yj.rb extconf.rb 
creating Makefile 

make "DESTDIR=" clean 

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/camerons/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0/ruby/intern.h:793: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)' [-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/camerons/.rvm/gems/ruby-2.2.0/gems/json-1.8.0 for inspection. 
Results logged to /Users/camerons/.rvm/gems/ruby-2.2.0/extensions/x86_64-darwin-14/2.2.0/json-1.8.0/gem_make.out 
An error occurred while installing json (1.8.0), and Bundler cannot continue. 
Make sure that `gem install json -v '1.8.0'` succeeds before bundling. 

Я пытаюсь запустить gem install json 1.8.0 и получить эту ошибку.

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. 

    /Users/camerons/.rvm/rubies/ruby-2.2.0/bin/ruby -r ./siteconf20150331-884-1wle120.rb extconf.rb 
creating Makefile 

make "DESTDIR=" clean 

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/camerons/.rvm/rubies/ruby-2.2.0/include/ruby-2.2.0/ruby/intern.h:793: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)' [-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/camerons/.rvm/gems/ruby-2.2.0/gems/json-1.8.0 for inspection. 
Results logged to /Users/camerons/.rvm/gems/ruby-2.2.0/extensions/x86_64-darwin-14/2.2.0/json-1.8.0/gem_make.out 

Я знаю, что это не xcode, потому что он говорит, что он уже установлен, и я просто запустил последнее обновление программного обеспечения на нем.

Любой совет будет рад!

ответ

1

Это произошло со мной сегодня на osx yosemite для json 1.7.3 gem, и я понятия не имею, почему. Я попробовал почти все, что было рекомендовано для этой проблемы - установка Archflags, обновление инструментов командной строки и т. Д. Я считаю, что проект, который я хотел запустить, был слишком старым (gem install json без версии работал отлично), и я отказался от него. Я, откровенно говоря, понятия не имею, почему пакетная установка пыталась загрузить json 1.7.3 в любом случае.

Попробуйте использовать gemset, чтобы все зависимости вашего приложения были отделены друг от друга. Иногда это устраняет проблему.

rvm gemset create [some name] 
rvm gemset use [some name] 
bundle install 

Надеюсь, это поможет! Я знаю, что на самом деле это не ответ, но stackoverflow не позволит мне прокомментировать, пока у меня больше очков репутации. Я буду следить за вашим вопросом, чтобы узнать, может ли кто-нибудь дать вам ответ.

1

Похоже, что json-1.8.2 устанавливается чисто под рубином 2.2.2. Раньше я сталкивался с тем же вопросом.

0

У меня была такая же проблема, и это было потому, что мой код (репо) использовал более старую версию Ruby.

Когда я cd'd в каталог, я получил это сообщение:

furian:Hetzner danebalia$ cd X_installer/ 
ruby-1.9.3-p194 is not installed. 
To install do: 'rvm install ruby-1.9.3-p194' 

После установки недостающей версии Ruby, ошибка пошла прочь.

1

Это потому, что эта версия json несовместима; попробуйте изменить Gemfile на последний камень. См. this answer.

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