为什么bundle --deployment试图重建gem ffi-1.9.6?

时间:2015-02-17 17:49:40

标签: ruby-on-rails ruby bundler ffi

我在具有完整开发环境的计算机上运行bundle --deployment,然后将vendor / bundle复制到没有完整开发环境的第二台计算机上。在第二台机器上,一个简单的'bundle exec irb'给出:

/usr/lib64/ruby/2.1.0/rubygems/ext/builder.rb:89:in“run”:错误:无法构建gem原生扩展。 (GEM ::分机:: BuildError)

/usr/bin/ruby.ruby2.1 extconf.rb 

mkmf.rb在/usr/lib64/ruby/include/ruby.h找不到ruby的头文件

extconf失败,退出代码1

不是bundle --deployment意味着复制整个gem,包括任何原生二进制文件?为什么要重建?

在开发机器上,安装了libffi43,libffi-devel和libffi43-devel,在非开发机器上,只安装了SUSE SLES SP3上的libffi43(libffi43-4.3.4_20091019-0.37.28)。

1 个答案:

答案 0 :(得分:0)

我构建了一个具有相同内核的开发系统,这解决了这个问题。我不会想到内核中的细微差别会导致失败。我可能忽略了修复它的其他一些细节,但我对此表示怀疑。