Хостинг Помощь - Custom Gems на DreamHost - PullRequest
2 голосов
/ 10 сентября 2009

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

Мое приложение требует двух пользовательских драгоценных камней 'amazon-ecs' и 'nokogiri.' Согласно инструкциям в вики DreamHost (http://wiki.dreamhost.com/Freezing_Gems) я заморозил драгоценные камни для поставщиков, кодируя их в свой конфигурационный файл (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

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

Ответы [ 4 ]

5 голосов
/ 17 сентября 2009

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

http://railstips.org/2008/11/24/rubygems-yours-mine-and-ours

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

0 голосов
/ 04 февраля 2010

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

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

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

0 голосов
/ 17 сентября 2009

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

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

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

0 голосов
/ 15 сентября 2009

так / 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"

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

...