库未加载:/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上工作,但我不知道那可能是什么。