Вопрос

Я пытаюсь развернуть приложение RoR с помощью Passenger на моей учетной записи хостинга DreamHost, но у меня возникают проблемы с его запуском и запуском.

Мое приложение требует двух пользовательских самоцветов 'amazon-ecs' и 'nokogiri.' Согласно инструкциям в вики DreamHost ( http://wiki.dreamhost.com/Freezing_Gems ) I заморозил драгоценные камни для поставщиков, кодировав их в мой конфигурационный файл (config.gem " nokogiri "), а затем использовал команду rake gems: unpack, чтобы встроить их в поставщика.

Затем я заморозил камни рельсов с помощью rake rails: freeze: gems и загрузил их на свой поддомен.

Последние семь строк моего следа выглядят следующим образом:

0   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   336     in `abort'
1   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   336     in `check_gem_dependencies'
2   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   170     in `process'
3   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   113     in `send'
4   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   113     in `run'
5   ./config/environment.rb     9   
6   /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb     31  in `gem_original_require'
7   /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb     31  in `require'

Мой конфигурационный файл выглядит так:

RAILS_GEM_VERSION = '2.3.3' unless defined? RAILS_GEM_VERSION
require File.join(File.dirname(__FILE__), 'boot')

Rails::Initializer.run do |config|
config.gem "nokogiri"
config.gem "amazon-ecs"
config.time_zone = 'UTC'
end

Я пропустил шаг с драгоценными камнями? Я на правильном пути?

Это было полезно?

Решение

Любой гем, имеющий собственные расширения, не может быть продан с вашим приложением, и есть хорошая ставка, что на DH config.gem также не будет работать правильно. Вы должны установить свои собственные rubygems и заставить свое приложение использовать это. Я рекомендую взглянуть на это:

http://railstips.org/2008/11 / 24 / RubyGems-ваш-минно-наша

В нем содержатся отличные инструкции по настройке среды на DH. Я просто должен был сделать это на прошлой неделе после обновления сервера, и он все еще применяется.

Другие советы

Итак / vendor / rails и / vendor / plugins / nokogiri и amazon-ecs существуют и выглядят хорошо для вас? Вы можете попробовать еще раз, на этот раз указав точную версию драгоценного камня в вашей конфигурации следующим образом

config.gem "nokogiri", :version => "1.0"

или если камень находится на Github

config.gem "tenderlove-nokogiri", :version => "1.0", :lib => "nokogiri", :source => "http://gems.github.com"

Обратный след выглядит не очень полезным, что именно происходит? : -)

Я получил ту же обратную трассировку (на странице ошибок Пассажира) с недавно развернутым приложением. Оказалось, что он не смог найти один из драгоценных камней, от которых я зависел (config.gem) ... несмотря на то, что rake gems сказал, что он там был ([I] test-unit = 1.2.3).

Служба поддержки Dreamhost предложила попробовать заморозить / распаковать мои драгоценные камни. Это, вероятно, сработало бы (у него не было проблем с поиском других моих драгоценных камней, которые были заморожены), но по какой-то причине rake gems: unpack ничего не делал для меня, поэтому я просто закомментировал этот конфиг линия .gem, так как она мне все равно не нужна, и это сработало!

Так что, если кто-то еще получает эту ошибку, это строго указывает на то, что один из ваших драгоценных камней не найден. Попробуйте закомментировать строки config.gem, по одной, пока он не начнет работать или выдает другую ошибку?

У меня была проблема с DreamHost на прошлой неделе, когда мои рабочие приложения на Rails внезапно перестали работать из-за отсутствия драгоценных камней. Я связался со службой поддержки, и вот их ответ:

  

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

Возможно, на вас влияет то же самое. Попробуйте связаться со службой поддержки, чтобы узнать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top