【发布时间】:2015-10-01 01:08:20
【问题描述】:
我想在 debian 机器上的 docker 容器中运行 Rails 4.2.1 应用程序。
当我运行 bundle exec rails s 时出现此错误:
Could not find json-1.7.7 in any of the sources
Run `bundle install` to install missing gems.
当我运行 bundle install 时,我得到了这个错误:
Gem::Ext::BuildError: ERROR: 未能构建 gem 原生扩展。
/usr/local/rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20150604-137-10l84fa. 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/x 86_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.
怎么了?我现在能做什么?
【问题讨论】:
-
你能不能先试试
gem install json -v '1.7.7' -
你能展示一个复制器,你的 Dockerfile 和更多数据吗?
-
@AnantKolvankar 我收到此错误:错误:执行 gem ... (Gem::FilePermissionError) 您没有 /usr/local/rvm/gems/ruby-2.2 的写入权限.1 目录。没有 dockerfile 我正在使用默认的 debian docker 容器。
-
我认为你的 docker 容器有问题
-
什么问题?
标签: ruby-on-rails ruby linux docker debian