2012-05-23 38 views
2

部署後,我們在發展的軌道3.2應用程序,使用相當多的說明在此railscast部署到Linux的VPS:http://railscasts.com/episodes/335-deploying-to-a-vps除了我們使用RVM代替rbenv的。我們使用nginx,unicorn,rvm,rails 3.2和postgres。錯誤的運行時間增加寶石的Gemfile與Capistrano的

最初的cap deploy:cold運行良好,我們做了幾次部署,因爲沒有改變初始部署的寶石。

我們現在添加了will_paginate和相關代碼,並像往常一樣部署了cap deploy。部署運行沒有任何錯誤,我可以看到bundle install --path /home/..../shared/bundle --deployment(以及其他一些選項)的調用。

問題是,當我們訪問使用will_paginate的應用程序的頁面時,我們在日誌中看到以下錯誤:NoMethodError undefined method paginate

因此,這對我說,由於某種原因,寶石不適用於Rails應用程序。

我ssh'ed到框中,如果我運行bundle list我可以看到列出的will_paginate。如果我從上面檢查捆綁位置(/home/..../shared/bundle),will_paginate就在那裏。

我已重新啓動獨角獸,仍然沒有快樂。我想這是某種路徑問題,但我不知道爲什麼其他寶石可用,但新的寶石沒有。

任何想法,我可以去調試這個問題?

該項目是開源的,在GitHub上,所以你可以在這裏看到各種配置文件:https://github.com/andypike/lagtv

在此先感謝

安迪

回答

1

我碰到同樣的問題。我可以讓獨角獸「刷新」(如果這是正確的話)的唯一方法是手動停止獨角獸,然後再次啓動它。在我的系統是:

/etc/init.d/unicorn_appname stop 
    /etc/init.d/unicorn_appname start 

重新啓動服務我罰款部署,但對Gemfile中的任何調整要求我啓動/停止。

相關問題