簡體   English   中英

為什么 heroku 應用程序崩潰並說“沒有要加載的此類文件 - nokogiri (LoadError)”?

[英]Why does heroku app crash saying “No such file to load — nokogiri (LoadError)”?

我只是嘗試將我的應用程序部署到 Heroku。 它已經工作了很長一段時間,我只是添加了一些新功能。 部署后,我收到“應用程序崩潰”錯誤。 heroku logs顯示No such file to load -- nokogiri (LoadError)

現在,在我的系統上,我的Gemfile.lock顯示了 2 個不同的 nokogiri gems: nokogiri (~> 1.5.0)fog (1.4.0)nokogiri (1.5.5-x86-mingw32)的依賴項,它沒有出現成為任何事物的依賴。 在平台下只有x86-mingw32 我的開發計算機是帶有ruby 1.9.3p194 Windows 7,Heroku toolbalt 自己使用的 Ruby 版本是heroku-toolbelt/2.30.1 (i386-mingw32) ruby/1.9.2

我的 Bundler 版本是最新的,我的 Heroku 工具帶版本是最新的。 我嘗試刪除Gemfile.lock並根據一些論壇帖子的建議重新部署,但該應用程序仍然崩潰。

看來 Heroku 根本沒有捆綁在正確版本的 nokogiri 中,而是由於我使用 Windows 而忽略了它。 我必須修復的方法是我將gem 'nokogiri', '~> 1.5.5'到我的 gemfile(即使我的應用程序沒有明確需要 nokogiri,它只是一個依賴項),然后重新部署到 Heroku無需先在我自己的系統上運行bundle install 現在應用程序不會崩潰。

我不知道為什么這有效。 我不知道如何確保問題不會再次發生,我只是碰巧遇到了一個絕望的補丁。 我以后不能有這種停機時間,也不能擔心在例行部署中再次發生類似的事情。 有人可以解釋一下究竟出了什么問題以及解決問題的正確方法嗎?

添加這個

 PLATFORMS
    x86-mingw32

到您的 Gemfile。 Heroku 將忽略您的Gemfile.lock因為 Windows 具有不同的依賴關系。

暫無
暫無

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

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