2015-05-17 6 views
0

У меня есть приложение rails, которое я хочу запустить в контейнер для докеров.Ошибки при развертывании рельсов на сервере при использовании установки пакета

Я запустить пакет установки .. но получил эту ошибку:

Gem :: Ext :: BuildError: Ошибка: Не удалось создать камень родной расширение.

/usr/local/rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20150517-474- 15nbph7.rb extconf.rb 
creating Makefile 

make "DESTDIR=" clean 

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 
VALUE result = rb_str_new(FBUFFER_PAIR(fb)); 
       ^
Makefile:237: recipe for target 'generator.o' failed 
make: *** [generator.o] Error 1 

make failed, exit code 2 

Gem files will remain installed in  /var/www/test/xyz/vendor/bundle/ruby/2.2.0/gems/json-1.7.7 for inspection. 
Results logged to /var/www/test/xyz/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0/json-1.7.7/gem_make.out 
An error occurred while installing json (1.7.7), and Bundler cannot continue. 
Make sure that `gem install json -v '1.7.7'` succeeds before bundling. 

Как установить json gem в/vendor/bundle?

камень установить JSON -v 1.7.7 --path/поставщика/расслоение

dosn't работу путь пары не допускаются. ...

+0

run 'rm /var/www/test/xyz/vendor/bundle/ruby/2.2.0/gems/json-1.7.7', затем 'gem install json -v '1.7.7'' – pangpang

+0

Тогда я получилось: у вас нет прав на запись для каталога /usr/local/rvm/gems/ruby-2.2.1. – Felix

+0

вы можете изменить права доступа к каталогу. – pangpang

ответ

0

У меня такая же ошибка. Эта ошибка возникает из-за того, что версии рубинового программного обеспечения (драгоценных камней), которые мы используем, в какой-то момент не совпадают.

Вы используете рубиновую версию 2.2.1. Ваш Gemfile содержит драгоценные камни более старых версий, и это зависит от версии 1.7.7 json.

Вы должны установить следующие рубиновые версии:

ruby-1.9.3-p448 

, чтобы избавиться от ошибки, или обновить свои драгоценные камни, которые совместимы с рубином версией 2.2.1 будут делать трюк.

+1

Это также сработало для меня: sudo gem install json -v '1.8.2' –

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