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



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

//usr/lib64/ruby/2.1.0/rubygems/ext/builder.rb:89:在"run"中:错误:无法构建gem本机扩展。(Gem::Ext::BuildError)

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

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

extconf失败,退出代码1

bundle部署不是要复制整个gem,包括任何本地二进制文件吗?为什么要重建?

在dev机器上,安装了libffi43、libffi-devel和libffi43-devel,在非dev机器中,SUSE SLES SP3上仅安装了libffini43(libffini43-4.3.4_4/20091019-0.37.28)。

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

最新更新