我通过gem install成功安装了yajl-ruby rubygem,但尝试使用它会引发此错误:
/usr/local/lib/ruby/gems/1.8/gems/yajl-ruby-0.7.7/lib/yajl_ext.bundle: dlopen(/usr/local/lib/ruby/gems/1.8/gems/yajl-ruby-0.7.7/lib/yajl_ext.bundle, 9): no suitable image found. Did find: (LoadError)
/usr/local/lib/ruby/gems/1.8/gems/yajl-ruby-0.7.7/lib/yajl_ext.bundle: mach-o, but wrong architecture - /usr/local/lib/ruby/gems/1.8/gems/yajl-ruby-0.7.7/lib/yajl_ext.bundle
我猜这是一个架构不匹配的地方,但无法弄清楚为什么以及如何解决它。机器有一个32位内核,我通过hivelogic instructions将ruby安装到/ usr / local / src。
在ruby二进制文件上运行lipo -info给出:“fat文件中的体系结构:/ usr / bin / ruby是:x86_64 i386 ppc7400”,我尝试通过32位/ 64位强制安装yajl-ruby架构做“sudo env ARCHFLAGS =” - arch x86_64“gem install yajl-ruby”和“ARCHFLAGS =” - arch i386“。
想到我在接近作者之前首先询问,以确保这不是我的设置问题。
答案 0 :(得分:0)
我有类似的问题。它发生在从Leopard(32位)升级到Snow Leopard(64位)之后。为我解决的是重新编译和安装Ruby。
如果您使用的是OS / X,则可以使用本指南:http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard。