Pergunta

Eu estou tentando implantar um aplicativo de RoR usando Passageiros na minha conta de hospedagem DreamHost, mas estou tendo problemas para começá-lo pronto e funcionando.

Meu aplicativo requer duas gemas personalizados 'amazon-ecs' e 'nokogiri.' De acordo com as instruções na wiki DreamHost ( http://wiki.dreamhost.com/Freezing_Gems ) I congelou as gemas aos vendedores pela codificação-los em meu arquivo de configuração (config.gem "nokogiri") e então usou os rake gems:. comando de descompactação para construí-los em fornecedor

Em seguida, congelou as gems Rails usando ancinho rails: freeze:. Gemas, e carregou-o ao meu subdomínio

As últimas linhas sete da minha backtrace go da seguinte forma:

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'

As minhas configuração olhares de arquivo como este:

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

Eu perdi um passo com as jóias? Am I no caminho certo?

Foi útil?

Solução

Qualquer jóia que tem extensões nativas não podem ser vendorizadas com seu aplicativo, e há uma boa aposta que na DH, config.gem não vai funcionar direito também. Você tem que instalar seus próprios rubygems e fazer seu aplicativo usá-lo. Eu recomendo dar uma olhada nisso:

http://railstips.org/2008/11 / 24 / RubyGems-seu-meu-e-nosso

Tem excelentes instruções para configurar seu ambiente em DH. Eu apenas tive que fazer isso na semana passada depois de uma atualização do servidor, e ainda se aplica.

Outras dicas

so / vendor / rails e / vendor / plugins / nokogiri e amazon-ecs existir e bem olhar para você? Você poderia tentar novamente e desta vez especificando a versão exata da jóia em sua configuração como esta

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

ou se a jóia é no Github

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

O registo de chamadas não parece muito útil, o que está acontecendo exatamente? : -)

Eu tenho o mesmo registo de chamadas (em uma página de erro de Passageiros) com um aplicativo que eu implantado recentemente. Descobriu-se que não era capaz de encontrar uma das jóias que eu estava dependendo (config.gem) ... apesar de rake gems disse que estava lá ([I] test-unit = 1.2.3).

Suporte Dreamhost sugeriu que eu tente congelamento / desembalar minhas jóias. Isso provavelmente teria trabalhado (não tinha problemas para encontrar qualquer um dos meus outras pedras preciosas, que foram congelados), mas para algumas jóias razão de rake: descompactar não estava fazendo nada para mim, então eu acabei apenas comentando que configuração linha .gem desde que eu não precisava disso na produção de qualquer maneira, e que funcionou!

Então, se alguém está recebendo este erro, indica fortemente que uma das suas jóias não está sendo encontrado. Tente comentar suas linhas config.gem, um de cada vez até que ele começa a trabalhar ou dar um erro diferente?

Tive um problema no DreamHost na semana passada, onde o meu trabalho Rails aplicativos repente parou de funcionar por causa de pedras preciosas ausentes. Entrei em contato com o suporte e aqui foi a sua resposta:

Parece que algumas mudanças foram feitas para o servidor e a maior parte do rubygems instalado pelo sistema não eram reinstalado como eles devem ter fui. Eu instalado manualmente o sqlite3 gem para você, mas os nossos administrador que maneja este terá que ter um olhar para este para descobrir por que eles não eram instalado. Se você tem um par mais que você não ver trabalhando Eu posso olhar para potencialmente instalá-los como uma paragem lacuna no tempo médio.

É possível que você está sendo afetado pela mesma coisa. Tente entrar em contato com o suporte para descobrir.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top