[英]Failed to deploy app via Capistrano, LoadError: cannot load such file — nokogiri
[英]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.