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

时间:2012-02-28 01:55:33

标签: ruby homebrew ffi

我正试图在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而没有成功。

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

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

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

4 个答案:

答案 0 :(得分:1)

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

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

$ sudo port install libffi

答案 1 :(得分:0)

使用otool和install_name_tool,您可以解决依赖性问题。有关详细信息,请参阅Creating working dylibs

答案 2 :(得分:0)

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

gem uninstall ffi

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

答案 3 :(得分:0)

我认为这最好解释为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。

我怀疑可能有一种方法可以在OS X 10.9.2上安装和使用版本 1.0.7 ,但我不知道它可能是什么。