2012-03-04 3 views
1

мое приложение отлично работает в дворняге (локально), но внезапно apache с пассажиром дает мне неприятности. Он работал хорошо, но теперь я получаю эту ошибку, которую я не удалось решить еще:Зависимость Json от пассажира?

Could not find multi_json-1.1.0 in any of the sources (Bundler::GemNotFound) 

Мои Gemfile:

source 'http://rubygems.org' 

gem 'rails' 
gem 'mysql2' 
gem 'tzinfo' 

gem 'jquery-rails' 
gem 'kaminari' 
gem 'cancan' 

# active-admin dependencies 
gem 'activeadmin' 
gem 'sass-rails' 
gem "meta_search", '>= 1.1.0.pre' 

gem 'sorcery' 

group :assets do 
    gem "coffee-script" 
    gem "twitter-bootstrap-rails" 
end 

Любые идеи?

EDIT:

хмм, я заметил в моем самоцветов путь, единственный драгоценный камень есть «multi_json-1.0.4», который отличается от multi_json-1.1.0 он просит. Однако при запуске 'bundle', я вижу 'Using multi_json (1.1.0)'. Но я не могу найти драгоценный камень нигде (и пассажир, как кажется).

+0

Возможно, добавление драгоценного камня «multi_json» поможет? – Slawek

+0

Я пробовал: P Не работает. – Spyros

+0

Вы попробовали «bundle show multi_json»? Жемчуг существует? – Slawek

ответ

3

Столкнутого и решить тот же вопрос после обновления рубина от 1.9.2p29- до 1.9.3. Я использую NGINX, а не Apache, а вот комбинированное решение:

  1. NGINX только (Apache загружает пассажира динамически): восстановление NGINX с Пассажиру после установки Руби 1.9.3.
  2. В конфигурационном файле веб-сервера обновите корневые и рубиновые задания пассажира с правильной рубиновой версией.

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 

Кроме того, rebundle приложения (обновление Bundle).

Надеюсь, это сработает для вас.

Повторите некоторые другие вопросы, отправленные в ответ.

  • gem файл существует. Bundle show: ~/.rvm/gems/ruby-1.9.3-p0/gems/multi_json-1.1.0
  • multi_json - это зависимость Пассажира, а не приложения, поэтому нет эффекта/не требуется в gemfile.
  • gemfile.lock не имеет отношения к вышеуказанной причине; обновление пакета не влияет
1

Обычно я начинаю эту головную боль, добавляя драгоценности непосредственно в свои репозитории. Предостережение заключается в том, что ваш репозиторий растет, но я нахожу, что меньше боли, чем зависит от серверов драгоценных камней.

bundle pack 
git add vendor/cache 
git commit 

Затем установить драгоценные камни во время развертывания с флагом развертывания

bundle install --deployment 
Смежные вопросы