ffi gem 1.9.21已成功安装。
我也尝试运行这些命令,但没有成功。
sudo apt install libffi-dev
gem inst ffi
当我部署到AWS时,会发生此错误。错误看起来像这样。
Installing dotenv 2.2.1
Installing request_store 1.3.2
Installing draper 3.0.1
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/opt/rubies/ruby-2.2.3/bin/ruby -r ./siteconf20180207-2245-1bjhja4.rb extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include,/usr/include/ffi... no
checking for shlwapi.h... no
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_with_gvl()... yes
checking for rb_thread_call_without_gvl()... yes
creating extconf.h
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
Running autoreconf for libffi
/var/app/ondeck/vendor/bundle/gems/ffi-1.9.21/ext/ffi_c/libffi/autogen.sh: line 2: exec: autoreconf: not found
make: *** ["/var/app/ondeck/vendor/bundle/gems/ffi-1.9.21/ext/ffi_c/libffi-x86_64-linux"/.libs/libffi_convenience.a] Error 127
make failed, exit code 2
Gem files will remain installed in /var/app/ondeck/vendor/bundle/gems/ffi-1.9.21 for inspection.
Results logged to /var/app/ondeck/vendor/bundle/extensions/x86_64-linux/2.2.0-static/ffi-1.9.21/gem_make.out
An error occurred while installing ffi (1.9.21), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.9.21'` succeeds before bundling. (Executor::NonZeroExitStatus)
任何帮助将不胜枚举。提前致谢。
最佳答案
似乎此问题是由于ffi最新版本引起的,我在控制台中的Gemfile gem 'ffi', '1.9.18'
运行bundle install
中指定了ffi最旧的版本,它解决了我的问题。
关于ruby-on-rails - 在Ruby 2.4.2上安装具有 native 扩展的ffi 1.9.21,Ubuntu 17.10失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48699099/