Ohne cd-in das Stammverzeichnis meiner Rails-Anwendung, wie kann ich einen Rails oder Rake-Befehl für diese Anwendung ausführen.Wie führe ich Rails/Rake aus einem anderen Verzeichnis?
Ich habe versucht:
bundle exec rake my_tasks:do_stuff BUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfile
unter anderen Kombinationen, ohne Erfolg.
[Update]
Die Frage ist eigentlich zweifach, Bündel nicht weiß, wo die gemfile ist und Harke nicht weiß, was zu laufen.
Bündler benutzen:
BUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfile bundle exec ...
Beachten Sie, dass BUNDLE_GEMFILE vor 'Bündel exec' zu gehen.
Rake zu benutzen:
rake -f /PATH/TO/RAILS_APP/Rakefile my_task:do_stuff
Rails-Konsole zu verwenden:
????
noch hat, um herauszufinden, wie die Rails-Konsole aus einem anderen Verzeichnis einzugeben. Mit Blick auf die source, ich denke, es ist vielleicht nicht möglich, weil es schließlich File.join ('Skript', 'Rails'), um den Prozess Schiene loszutreten.
Es gibt [mehrere gute Antworten hier] (http://stackoverflow.com/questions/1206545/run-rake-task-from-outside-rails-root) aber ich denke, die beste Antwort ist wahrscheinlich, dass Sie sollten nicht ' t mach das :-). Wenn möglich, werden Sie feststellen, dass jeder einzelne Pfad, auf den im Aufruf von Rake verwiesen wird, selbst innerhalb der aufgerufenen Rake-Tasks verwechselt wird, da sie erwarten, dass sie in dem Verzeichnis verankert sind, aus dem die Task ausgeführt wird. –
Guter Punkt, Tom. Wie Bill sagt, müssen die Aufgaben CWD-agnostisch sein. Für kleine Aufgaben sollte dies kein Problem sein. Vielen Dank! – Nejuf