我有一个工作的应用程序,添加了Nokogiri,解析一些xml,在本地运行良好。
我的Gemfile包括:gem 'nokogiri'
我运行了bundle install
并验证了我的Gemfile.lock包含DEPENDENCIES
... nokogiri
在我的控制器类中,我添加了(没想到我必须在本地得到错误,如果我没有):
class MydealController < ApplicationController
require 'rubygems'
require 'open-uri'
require 'nokogiri'
当我使用浏览器获取MydealController中使用nokogiri doc = Nokogiri::XML(getresult)
Heroku崩溃的网址时。
heroku logs
显示此错误No such file to load -- nokogiri (LoadError)
看看当我git push heroku
时会发生什么我没有在许多安装的宝石列表中看到nokogiri。 Heroku说推进很好,但nokogiri没有列出,我得到上述错误......
答案 0 :(得分:1)
你的任务应该选择接受它。
确保:
答案 1 :(得分:1)
使用Windows时Gemfile.lock
似乎包含特定于Windows的nokogiri
gem版本,解决方案是删除Gemfile.lock 并推送到heroku。
有关此主题的更多信息here
答案 2 :(得分:0)
遇到同样的问题 - 您必须运行bundle install
才能将其添加到heroku查找的Gemfile.lock
中以查找已卸载的依赖项。
答案 3 :(得分:0)
这可能有助于理解原因: http://devcenter.heroku.com/articles/ps
确实删除Gemfile.lock可能有所帮助。所有其他编译的gem将导致isseu。最好的方法是询问Heroku的支持。
只找到这篇文章: http://ganeshprasadsr.blogspot.com/2010/10/installing-nokogiri-for-rails-3-app-on.html
答案 4 :(得分:0)
尝试从控制器中删除require 'nokogiri'
。
它对我有用。