Обнаружил и решил ту же проблему после обновления Ruby с 1.9.2p29- до 1.9.3.Я использую NGINX, а не Apache, но вот комбинированное решение:
- Только NGINX (Apache загружает пассажира динамически): пересоберите NGINX с Passenger после установки Ruby 1.9.3.
- В файле конфигурации веб-сервера обновите назначения root и ruby Пассажира, указав правильную версию ruby.
NGINX.conf - в блоке http {}:
http {
...
passenger_root /Users/myusername/.rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11;
passenger_ruby /Users/myusername/.rvm/wrappers/ruby-1.9.3-p0/ruby;
...
}
Или,в httpd.conf Apache:
PassengerRoot /Users/myusername/.rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11
PassengerRuby /Users/myusername/.rvm/wrappers/ruby-1.9.3-p0/ruby
Кроме того, восстановите приложение (пакетное обновление).
Надеюсь, что это работает для вас.
Re некоторые другие вопросы, опубликованныев ответ.
- файл gem существует.Пакетное шоу: ~ / .rvm / gems / ruby-1.9.3-p0 / gems / multi_json-1.1.0
- multi_json является зависимостью от Passenger, а не от приложения, поэтому никакого эффекта / не требуется в gemfile.
- gemfile.lock не имеет значения по вышеуказанной причине;обновление пакета не имеет никакого эффекта