2012-04-23 78 views
3

我目前正在開發一個獨立的ruby應用程序以及作爲其前端的Rails應用程序。我使用Bundler管理Ruby應用程序的依賴關係,因此有兩個gemfiles。從Rails調用外部Rake任務:依賴項問題

我試圖通過系統調用rake任務從Rails前端執行Ruby應用程序時出現問題。

當我從標準IRB調用rake任務時,它可以工作;但如果我嘗試從Rails控制器或Rails控制檯調用該任務,則會出現依賴關係問題。

作爲一種解決方法,我可以將Rails應用程序中沒有的所有gem添加到Rails Gemfile中,但我想這種方法是錯誤的。

我認爲這可能是Bundler的範圍問題。我怎麼能解決這個問題?

謝謝。

回答

2
fork do 
    Dir.chdir("/your/project/dir") 
    ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', __FILE__) 
    Bundler.setup 
    exec "rake -T" 
end 
+0

它工作=),非常感謝你! – bruno077 2012-04-23 18:46:25

+0

同樣,設置ENV ['BUNDLE_GEMFILE'] =「」'有時也很有用。 – merlin2011 2015-05-18 23:14:50