내 Rails 응용 프로그램의 루트 디렉토리에 CD-ROM을 넣지 않고 해당 응용 프로그램에 대해 Rails 또는 Rake 명령을 어떻게 수행 할 수 있습니까? 다른 디렉토리에서 Rails/Rake를 실행하려면 어떻게해야합니까?
내가 시도 :bundle exec rake my_tasks:do_stuff BUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfile
을 다른 조합들, 아무 소용.
[업데이트]
문제가 gemfile이며 레이크 실행 해야할지하지 않는 경우 실제로는 두 배, 번들 모르는 것입니다.
은 Bundler 프로그램을 사용하려면 : BUNDLE_GEMFILE은 '번들 간부'전에 가야BUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfile bundle exec ...
참고. 다른 디렉토리에서 레일 콘솔을 입력하는 방법을 알아 내기 위해
????
아직 유무 :
rake -f /PATH/TO/RAILS_APP/Rakefile my_task:do_stuff
가 레일 콘솔을 사용하려면 :
는 레이크를 사용합니다. source에서 보면 레일스 프로세스를 시작하기 위해 결국 File.join ('script', 'rails')을 수행하기 때문에 가능하지 않을 수도 있습니다.
[여러 좋은 대답은 여기에있다] (http://stackoverflow.com/questions/1206545/run-rake-task-from-outside-rails-root)하지만 최선의 대답은 당신이 ' 그렇게하지 마라 :-). 가능하다면 레이크 호출에서 참조 된 모든 단일 경로가 호출 된 레이크 작업 내에서도 작업이 실행되는 디렉터리에 고정 될 것으로 예상되므로 혼동을 일으킬 수 있습니다. –
좋은 지적입니다, 톰. Bill이 말했듯이, 업무는 CWD 불가 지론이어야합니다. 작은 작업의 경우에는 문제가되지 않습니다. 감사! – Nejuf