簡體   English   中英

Rails:生產環境可以在“乘員”中工作,但不能在控制台上工作

[英]Rails: Production environment works in Passenger but not on console

我們在托管暫存和生產環境的服務器上(使用Debian Linux和Apache 2)在一個運行Rails 3.0.14的應用程序上運行。 使用具有多階段擴展的Bundler和Capistrano完成部署。 兩種環境都可以從Apache Passenger正常運行,並且積極使用了生產環境。

但是,由於上次部署以來的某些原因,我們的cron腳本停止了工作,因為出於某種原因,控制台不再喜歡我們的生產環境。 無論我們使用哪種rakerails命令,我們總會得到

$ rails c
script/rails:6:in `require': no such file to load -- rails/commands (LoadError)
    script/rails:6

bundle install僅在所有gem中運行,並說“一切都很好”。 但是與暫存環境相比,我知道共享捆綁包目錄中缺少一些gem(與有效的暫存環境進行比較)。

即使假定一切正常,如何強制Bundler 重新安裝所有必需的gem? 它似乎沒有“ --force”開關。

謝謝!

我發現了錯誤,但我仍然不知道這是怎么發生的。

似乎生產樹中的“ railties” gem被標記為已安裝,但其安裝目錄下面為空(與臨時樹相比)。 Bundler一直堅持認為它可以很好地安裝,但是缺少了一半的庫文件,並且由於“ railties”提供了命令行和腳本支持,所以這確實不存在。

我仍然不知道Bundler如何以這種方式半安裝gem,但是至少我能夠通過從登台系統中復制丟失的文件來解決這種情況。

感謝您的所有評論,它們幫助我朝正確的方向看。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM