2011-04-24 57 views
1

我需要從Rails任務中啓動一個sinatra應用程序。不幸的是,每當我打電話給system("shotgun")system("rackup"),我都會得到奇怪的衝突錯誤。當我在bash中正常啓動它們時,一切運行良好。Rackup Rails Rake任務中的另一個機架應用程序

錯誤從shotgun is not part of the bundleuninitialized constant ActionController::Base (NameError)

如何從Rails應用程序中啓動其他機架應用程序?

回答

1

解決方案......關鍵是要取消設置一些shell變量:

unset BUNDLE_GEMFILE 
unset RUBYOPT 
unset BUNDLE_BIN_PATH 
0

很難說,但由於它在bash中運行,聽起來好像rake任務運行環境和bash環境之間存在差異。

基本上,要弄清楚在你的bash環境中需要什麼才能使其工作,並將其複製到你的rake任務運行的環境中。

+0

感謝您的幫助。這是一個Rails rake任務,所以整個Rails環境都被加載。一個'system'調用在子shell中執行,並且看起來不夠「乾淨」。 – Zardoz 2011-04-25 00:54:14

相關問題