2013-06-25 31 views
2

我添加回形針到我的應用程序,然後嘗試部署到我的VPS使用capistrano。部署成功,但是當我嘗試訪問VPS上的應用程序時,出現Rails錯誤頁面。 有一個在production.log沒有信息,但unicorn.log有以下錯誤:與獨角獸生產中的回形針:未初始化的常量回形針(NameError)

E, [2013-06-25T19:44:07.372060 #21995] ERROR -- : uninitialized constant Paperclip (NameError) 
/home/deployer/apps/arcsite/releases/20130625182331/config/initializers/paperclip.rb:1:in `<top (required)>' 

的初始化文件是paperclip.rb,有這些內容:

Paperclip.interpolates :zone do |attachment, style| 
    attachment.instance.zone_id 
end 

這是一個插入器,允許我使用的文件夾結構我想要。

如果我刪除paperclip.rb初始化文件,我得到has_attachment是在我的課沒有定義,使它看起來像paperclip寶石沒有被正確加載錯誤。

我試圖卸載/重新安裝寶石,但是當我跑gem uninstall paperclip時,它告訴我沒有安裝回形針寶石。當我運行bundle show paperclip它確實顯示了一個目錄(我正在使用RVM),所以我手動安裝了回形針寶石gem install paperclip。我仍然遇到同樣的錯誤。

此應用在thin服務器上的開發中正常工作。

我的VPS設置:

  • nginx的
  • 麒麟
  • RVM
  • Capistrano的

軌版本:3.2.13 回形針版本:3.4.2

我跟着Ryan's screencast to set up nginx/unicorn

回答

0

原來,這是一些奇怪的安裝行爲。必須與RVM人員合作並更新rvm capistrano文檔以反映新程序。

0

所以問題是獨角獸沒有識別我新安裝的寶石,我只需手動停止,然後手動啓動獨角獸,一切都得到照顧。在安裝了回形針之後部署我的應用後,我遇到了完全相同的問題。

在應用程序的根目錄下,通過SSH--

service unicorn_"app name" stop 

其次

service unicorn_"app name" start 
相關問題