7 Stimmen

require in capistrano deploy.rb kann Datei nicht finden

Ich habe eine Rails 3.0.5 App und ich bin die Einrichtung capistrano ein Rezept zu verwenden.

in meinem config-Verzeichnis habe ich eine Datei mit dem Namen "database_capistrano.rb" und in meiner deploy.rb, ebenfalls im config-Verzeichnis, habe ich die folgende Zeile, nur am Anfang:

require 'database\_capistrano'

Aber ich bekomme:

\`require': no such file to load -- capistrano\_database (LoadError)

Versuchen Sie es auch mit:

require 'database\_capistrano.rb'

Und arbeiten Sie nicht...

Wie, in Rails 3.0.5, Dateien in capistrano deploy.rb einschließen?

11voto

Joao Pereira Punkte 2384

Ok, ich habe es geschafft, herauszufinden, wie das gemacht werden sollte.

Gerade kopiert die Datei in ein neues Unterverzeichnis "deploy", nur für die Organisation, und am Anfang meiner deploy.rb, hinzugefügt:

$LOAD\_PATH.unshift File.join(File.dirname(\_\_FILE\_\_), 'deploy')

Dann, in deploy.rb, einfach verwendet:

require 'database\_capistrano'

0voto

Karthik T Punkte 30498

Für künftige Besucher: Ich habe bessere Ergebnisse mit der Antwort erhalten, die unter Capistrano: Refaktorierung der deploy.rb-Datei

d.h. anstelle von require verwenden load . Solange diese Datei ein Edelstein im Paket ist oder eine Datei, die andere Edelsteine im Paket erfordert, funktioniert dies.

Um ehrlich zu sein, habe ich die akzeptierte Antwort nicht ausprobiert, zum einen, weil sie ein wenig wie ein Workaround aussah, und zum anderen, weil ich nicht ganz verstanden habe, wie man sie für meine Situation anpassen kann

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X