Frage

Ich bin versucht zu implementieren eine RoR-app mit Passagier auf meinem DreamHost-hosting-Konto, aber ich habe Mühe, es zum laufen.

Meine Anwendung erfordert zwei benutzerdefinierte Edelsteine "amazon-ecs' und 'nokogiri.' Wie pro die Anweisungen auf dem DreamHost wiki (http://wiki.dreamhost.com/Freezing_Gems) Ich erstarrte, die Edelsteine Anbieter von Codierung Sie in meine config-Datei (config.gem "nokogiri"), und dann verwendet die rake gems:entpacken Befehl, Sie zu bauen vendor.

Ich habe dann fror die Schienen Edelsteine mit rake rails:freeze:Edelsteine, und es hochgeladen, um meine subdomain.

Die letzten sieben Zeilen meiner backtrace gehen Sie wie folgt vor:

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'

Meine config-Datei sieht wie folgt aus:

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

Did I miss a step mit den Edelsteinen?Bin ich auf dem richtigen Weg?

War es hilfreich?

Lösung

Jeder Edelstein, native Erweiterungen können nicht vendored mit Ihrer app, und es ist eine gute Wette, dass auf DH, config.gem wird nicht Arbeit richtig.Sie müssen installieren Ihre eigenen rubygems-und machen Sie Ihre app verwenden.Ich empfehle einen Blick auf diese:

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

Es hat eine große Anweisungen zum einrichten Ihrer Umgebung auf DH.Ich habe gerade zu tun hatte Letzte Woche nach einem server-upgrade, und es gilt noch immer.

Andere Tipps

so /vendor/rails und /vendor/plugins/nokogiri-und amazon-ecs existieren und schauen Sie gut für Sie?Sie könnten versuchen, wieder und dieses mal ist die Angabe der genauen version des gem in deiner config wie diese

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

oder wenn das Schmuckstück ist auf Github

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

Der backtrace sieht nicht sehr hilfreich, was passiert da genau?:-)

Ich habe die gleiche backtrace (auf einem Passagier-Fehler Seite) mit einer app, die ich bereitgestellt kurzem.Es stellte sich heraus, dass es nicht in der Lage zu finden, einer der Edelsteine war ich abhängig (config.gem)...trotz der Tatsache, dass rake gems sagte, es war da, ([ich] test-unit = 1.2.3).

Dreamhost support vorgeschlagen, dass ich versuche, Frost - /Auspacken meine Edelsteine.Das hätte vermutlich geklappt (es hat gar nicht problem haben, finden Sie meine anderen Edelsteine, die eingefroren wurden), aber aus irgendeinem Grund rake gems:Auspacken war nicht etwas zu tun für mich, so landete ich nur das auskommentieren der config.gem Strich, da wusste ich nicht, müssen Sie es in der Produktion sowieso, und das funktionierte!

Also, wenn jemand anderes diese Fehlermeldung bekommen, es stark darauf hinweist, dass eine von Ihre Edelsteine nicht gefunden.Versuchen Sie kommentieren aus Ihrer config.gem Linien, ein zu einer Zeit, bis es beginnt zu arbeiten, oder einen anderen Fehler?

Ich hatte ein Problem, das auf DreamHost Letzte Woche, wo meine arbeiten Rails-apps plötzlich nicht mehr funktioniert, weil der fehlende Edelsteine.Ich habe den support kontaktiert und hier war Ihre Antwort:

Es sieht aus wie einige änderungen vorgenommen wurden zu Ihrem server, und die meisten system-rubygems installiert wurden, die nicht neu installiert werden, wie Sie sollten worden.Ich manuell installiert die sqlite3 Juwel für Sie, aber unser admin wer kümmert sich diese müssen einen Blick auf diese um herauszufinden, warum Sie das nicht waren installiert.Wenn du ein paar mehr Sie sehen nicht die Arbeit die ich mir ansehen kann möglicherweise installieren Sie als stop Lücke in der mittleren Zeit.

Es ist möglich, Sie sind betroffen von der gleichen Sache.Versuchen Sie den support Kontaktieren, um herauszufinden,.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top