我刚安装了Snow Leopard,现在遇到下面的错误,当试图访问Passenger下运行的网站时:
/usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/phusion_passenger/native_support.bundle: dlopen(/usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/phusion_passenger/native_support.bundle, 9): no suitable image found. Did find: (LoadError) /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/phusion_passenger/native_support.bundle: mach-o, but wrong architecture - /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/phusion_passenger/native_support.bundle from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/utils.rb:35 from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/bin/passenger-spawn-server:53:in `require' from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/bin/passenger-spawn-server:53
我已经重新安装了乘客gem,我已经运行安装程序脚本,并根据指示更新了Apacheconfiguration文件。
我也试图用env ARCHFLAGS =“ – arch x86_64”重新安装gem,没有任何运气
我有同样的问题 – 修复是重新编译为64位而不是32位的ruby。
你可以查看你的ruby使用的是什么架构:
> file `which ruby` /usr/local/bin/ruby: Mach-O 64-bit executable x86_64
如果它报告i386而不是x86_64 – 那么你可能有同样的问题。
(在重新编译我的是“Mach-O可执行文件i386”之前)
这种痛苦,因为在这之后,你将需要重新编译/重新安装任何gem瓦特/原生扩展。 我还没有做到这一点,但我看到的地方,你可以做到“轻松”使用sudo gem pristine --all