18

我在 Mac 64 位中收到此错误,并在机器上安装了 xcode。

Building native extensions.  This could take a while...
ERROR:  Error installing ffi:
    ERROR: Failed to build gem native extension.

/Users/jreddy/.rvm/rubies/ruby-1.8.7-p302/bin/ruby extconf.rb
checking for ffi.h in /usr/local/include... no
checking for rb_thread_blocking_region()... no
checking for ruby_thread_has_gvl_p()... no
checking for ruby_native_thread_p()... no
checking for rb_thread_call_with_gvl()... no
creating extconf.h
creating Makefile

make
sh: make: command not found
4

11 回答 11

30

大部分用户都在尝试更新Xcode Command Line Tools。实现这一目标的最简单方法是删除旧版本的工具,然后安装新版本。

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

将出现一个弹出窗口并指导您完成其余过程。

毕竟,如果xcode安装正确,还是有问题,尝试像这样安装 ffi:

gem install ffi -v '1.9.18' -- --with-cflags="-Wno-error=implicit-function-declaration"
于 2020-09-15T16:26:03.563 回答
13

我使用自制软件,所以在我brew install libffi为我安装了 gem 之后。我有 Xcode 4.2 工具处于活动状态(使用 xcode-select)。我确实必须关闭并打开一个新的终端窗口才能让 gem 安装识别 home-brew 的安装。但我只能使用 ruby​​ 1.8.7 而不是 1.9.3(使用 rvm)。

于 2012-02-03T10:32:18.010 回答
7

这个对我有用: brew link libffi --force

于 2018-02-12T00:58:54.987 回答
4

另一个版本的答案,如果您使用 brew 安装 libffi,那么仍然无法正常工作。您可以尝试这样做:

$ export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.2.14/lib/pkgconfig/
$ gem install ffi
于 2018-11-28T07:53:18.750 回答
2

在 XCode 中更新命令行工具并按照以下步骤操作:https ://stackoverflow.com/a/10610951/1691为我做了

于 2012-10-26T16:37:40.087 回答
2

我也在 OS X Lion 上。我重新安装了 XCode 并使用 bundle install 成功安装了 ffi。

于 2012-01-02T02:00:52.200 回答
1

在我的 Mac OS-X Maverics 上更新 X 代码使它对我有用

于 2014-10-30T19:01:23.573 回答
1

我在 rvm 下使用 ruby​​-2.0.0-p481 在 OSX 10.10.15 上遇到了这个问题。我所要做的就是

sudo xcodebuild -license

它不会解决所有情况,但可能会解决一些问题

于 2015-10-16T17:18:47.063 回答
0

我使用的是 ree-1.8.7-2010.02 并且安装无法正常工作。切换到 ruby​​-1.9.2,它就像一个魅力。

于 2012-04-05T01:11:23.517 回答
0

我在 OS X Lion 上遇到了同样的问题,并通过以下方式解决了它:

sudo port install libffi
于 2011-08-28T19:34:37.183 回答
0

如果gem install ffi -v '1.9.21' --source 'https://rubygems.org/ 没有解决问题。然后似乎在 Mac ffi-1.19.21 中尝试使用没有的 ffi_prep_closure_loc() 和 system-libffi。

试试这个临时解决方案:

gem install ffi -- --disable-system-libffi

更多细节在这里:https ://github.com/ffi/ffi/issues/791

于 2021-07-08T14:25:29.567 回答