Ошибка стойки с DreamHost, Passenger и Rails 3.0.0.rc - PullRequest
4 голосов
/ 27 сентября 2010

Фон: Я просмотрел этот вопрос , а также этот - к сожалению, безрезультатно.

Сообщение об ошибке (Passenger): Вы уже активировали стойку 1.1.0, но для вашего Gemfile требуется стойка 1.2.1.Попробуйте использовать bundle exec.

my Gemfile:

source 'http://rubygems.org'

gem 'rails', '3.0.0.rc'
gem 'nifty-generators' 
gem 'nokogiri'
group :after_initialize do
    gem 'feedzirra'
end

my Gemfile.lock имеет следующую строку:

rack (1.2.1)

my environment.rb имеет эту строку вверху:

ENV['GEM_PATH'] = File.expand_path('~/.gems') + ':/usr/lib/ruby/gems/1.8'

В моем boot.rb эта строка вверху:

Gem.clear_paths

У меня стойка (1.2.1) установлена ​​правильно локально - мое приложение работает нормально на моем локальном хостеи версия 1.2.1 обнаруживается после «списка драгоценных камней» в терминале.

Я упаковал свои драгоценные камни в «пакетную упаковку» перед отправкой приложения на свой рабочий сервер.

Iперед развертыванием выполнили следующую команду (на моем производственном сервере из корня приложения):

bundle install --path vendor/bundle --local

Следуя приведенной выше команде установки, «проверка комплекта» возвращает следующее:

The Gemfile's dependencies are satisfied

И это обратная трассировка, предоставленная пассажиром (вместе с сообщением об ошибке, упомянутым выше):

0   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/runtime.rb      27      in `setup'
1   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/spec_set.rb     12  in `each'
2   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/spec_set.rb     12  in `each'
3   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/runtime.rb  17  in `setup'
4   /home/user/.gems/gems/bundler-1.0.0/lib/bundler.rb  100     in `setup'
5   /home/user/gseeds.mywebsite.com/releases/20100927012812/config/boot.rb  9   
6   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
7   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
8   /home/user/gseeds.mywebsite.com/releases/20100927012812/config/application.rb   1   
9   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
10  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
11  /home/user/gseeds.mywebsite.com/releases/20100927012812/config/environment.rb   7   
12  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
13  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
14  config.ru   3   
15  /usr/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb  46  in `instance_eval'
16  /usr/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb  46  in `initialize'
17  config.ru   1   in `new'
18  config.ru   1 

Мне интересно, кто-нибудь придумал решение для этого?

Следует отметить, что пример приложения rails - иначе говоря, запускает новое имя приложения rails и передает его по FTP на рабочий сервер на DreamHost - будет работать нормально.Это беспокоит меня, так как я представляю, что и мое реальное приложение, и пример приложения имеют зависимость rack (1.2.1);это подразумевает, что, пытаясь обойти гемы DreamHost, я каким-то образом путаюсь с реализацией стойки в моем реальном приложении.

Мой пример приложения rails запущен на отдельном поддомене в DreamHost, при этом я получаю эту ошибку для поддоменов обоих реальных приложений, которые я пытаюсь развернуть.

Кроме того, я изначально пытался установить гемы локально в моем пользовательском каталоге DreamHost, прежде чем использовать подход vendor / cache.Может быть, это ни на что не повлияет ..

Спасибо за страдания из-за этого грязного / длинного вопроса

1 Ответ

2 голосов
/ 27 сентября 2010

Пожаловаться на Dreamhost и попросите их обновить Phusion Passenger. Эта проблема была исправлена ​​в нескольких выпусках Phusion Passenger.

...