在我當前的ruby on rails項目中,我使用webrick(默認)服務器進行開發。我有一個單獨的服務器來測試應用程序,我想將環境設置爲產品。我使用以下行來在生產模式下運行服務器。在webrick服務器的生產模式下運行導軌
rails s -e production
的問題是,它完美的作品,如果它的發展模式,但在服務器模式我收到以下錯誤:
Started GET "/" for 172.20.7.94 at Thu Jun 07 10:35:45 +0530 2012
Processing by FrontendController#dashboard as HTML
Rendered frontend/dashboard.html.erb within layouts/frontend (3.0ms)
Completed 200 OK in 50ms (Views: 22.0ms | ActiveRecord: 0.0ms)
Started GET "/assets/frontend-datauri.css" for 172.20.7.94 at Thu Jun 07 10:35:4
6 +0530 2012
Processing by Jammit::Controller#package as HTML
Parameters: {"extension"=>"css", "package"=>"frontend-datauri"}
Completed 500 Internal Server Error in 190ms
NameError (uninitialized constant POpen4::Open4):
Started GET "/assets/frontend.js" for 172.20.7.94 at Thu Jun 07 10:35:46 +0530 2
012
Processing by Jammit::Controller#package as
Parameters: {"extension"=>"js", "package"=>"frontend"}
Completed 500 Internal Server Error in 105ms
NameError (uninitialized constant POpen4::Open4):
我使用Jammit和POpen4和我的軌道版本:3.0.9。 Ruby版本1.8.7。我目前無法升級版本,因爲其他幾個開發人員都參與了該項目。任何人都可以爲我提供解決方案。
謝謝
第一件事:在生產中使用的WEBrick是一個壞主意。它不是爲此而設計的,而且表現非常差。使用'thin','unicorn',...第二件事:看起來寶石POpen4不在你的包中。你有沒有把你的POpen4 gem只放在你的gem文件中的':development'組中?或者用'--without'選項運行'bundle install'不包括生產gem? –
其實我沒有提到任何在Gemfile中的POpen4也是使用webrick進行生產並不是一個好主意,但我在測試服務器上使用它來確保它完美地工作 – Mujahid