Я только что установил 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
Я переустановил гем для пассажиров, запустил скрипт установщика и обновил файл конфигурации apache в соответствии с инструкциями.
Я также безуспешно пытался переустановить гем с помощью env ARCHFLAGS = "- arch x86_64"
У меня была та же проблема - исправление заключалось в том, чтобы перекомпилировать ruby, чтобы он стал 64-битным, а не 32.
Вы можете проверить, какую архитектуру использует ваш Ruby, вот так:
> file `which ruby`
/usr/local/bin/ruby: Mach-O 64-bit executable x86_64
Если он сообщает i386 вместо x86_64 - возможно, у вас такая же проблема.
(до перекомпиляции у меня был "исполняемый файл Mach-O i386")
Вид боли, потому что после этого вам нужно будет перекомпилировать / переустановить все драгоценные камни с собственными расширениями. Я еще не делал этого, но где-то видел, что вы могли бы сделать это "легко", используя sudo gem pristine --all