我正在尝试让Hpricot在我的开发机器上与Rails一起工作。
我已经使用标准的'gem install hpricot‘安装了Hpricot 0.8.1,并确认它在我的标准Ruby安装1.8.7上工作得很好;但是当我在我的Rails 2.1.0安装中尝试同样的安装时,我得到了一个错误-
TypeError:来自/usr/lib/ruby/1.8/hpricot/tag.rb的类BogusETag的超类不匹配:130
似乎有一些冲突,但谷歌错误并没有找到任何有用的信息。
有什么想法吗?提前谢谢。
发布于 2009-07-25 12:14:41
如果您可以自由选择您的HTML解析库,那么可以切换它。为什么,Hpricot的创建者最近发布了一篇文章,说现在你应该用Nokogiri而不是HPricot。
发布于 2009-11-04 19:29:06
出现此错误的原因是没有适用于该平台的编译库。要为您当前的hpricot版本解决此问题,请转到rails目录dir并执行以下操作(假设您使用的是未打包的gem -否则不会出现此问题,除非您的操作系统在安装gem后进行了升级):
cd vendor/gems/hpricot-0.6/ext/hpricot_scan/
ruby extconf.rb
make然后将编译后的库复制到您系统的正确平台目录中。OS X的每个版本都有一个略有不同的平台名称,因此我的(Snow Leopard)显示为:
ruby-1.8.6-p383 > RUBY_PLATFORM
=> "i686-darwin10.0.0"这意味着我需要将文件"hpricot_scan.bundle“(OS X为共享库使用捆绑包,在Linux上为"hpricot_scan.so")复制到以下目录,并在必要时创建它:
vendor/gems/hpricot-0.6/lib/i686-darwin10.0.0/为您的计算机替换适当的平台名称(将RUBY_PLATFORM从irb放入)。
发布于 2010-09-23 02:54:40
执行以下命令及其工作
gem install hpricot --platform=mswin32
https://stackoverflow.com/questions/1116530
复制相似问题