库未加载:/opt/local/lib/libffi.5.dylib但是我正在使用自制程序

我正试图在Mac OS X Lion(XCode 4.3 + OSX GCC Installer + Homebrew)上守卫

错误信息:

Library not loaded: /opt/local/lib/libffi.5.dylib 

我没有/opt/local目录,因为我没有使用MacPorts而是使用Homebrew

我尝试了brew install libffi ,这是成功的,但gem仍然不起作用。

我也试过卸载并重新安装gem而没有成功。

在安装了apple-gcc42 OSX 10.9(Mavericks)上也会出现问题。

我也试过告诉gem有关libffi的存在,如下所示:

gem install ffi:1.0.7 -- --with-ldflags='-L/usr/local/opt/libffi/lib'

在卸载MacPorts之后我已经在这种情况下结束了(我认为自制软件就足够了,但似乎并非如此)。 它阻止了我的cocoapods更新/安装。

为了使它像魅力一样工作,我做了:

 $ sudo port install libffi 

使用otool和install_name_tool,您可以修复依赖性问题。 有关详细信息,请参阅创建工作dylib 。

我正在使用rvm,我通过重新安装ffi gem来解决它

gem uninstall ffi

gem install ffi ##or inside rails project folder run bundle install

我认为这最好解释为Mac OS X和旧版ffi gem之间的兼容性问题。 这就是为什么在某些情况下只需卸载并重新安装gem即可。

在我的例子中,在项目的Gemfile中指定了ffi版本1.0.7 。 我的测试失败了Library not loaded: /opt/local/lib/libffi.5.dylib在该版本上,但是如果我尝试了最新版本1.9.3 ,它安装并且工作没有任何大惊小怪。

我很幸运,这个项目的限制需要在几年前提出,似乎不再是必需的。 所以最后我推出了更高版本的ffi gem。

我怀疑可能有一种方法可以很快安装版本1.0.7并在OS X 10.9.2上工作,但我不知道那可能是什么。