我刚刚安装了 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,我已经运行了安装程序脚本并根据说明更新了 apache conf 文件。
我还尝试使用 env ARCHFLAGS="-arch x86_64" 重新安装 gem,但没有任何运气
我遇到了同样的问题 - 修复方法是将 ruby 重新编译为 64 位而不是 32 位。
您可以像这样检查您的 ruby 使用的架构:
如果它报告 i386 而不是 x86_64 - 那么您可能有同样的问题。
(在重新编译我之前是“Mach-O 可执行 i386”)
有点痛苦,因为在此之后您需要重新编译/重新安装任何带有本机扩展的 gem。我还没有这样做,但我在某个地方看到你可能可以使用“轻松”做到这一点
sudo gem pristine --all