如何修改&延伸Nokogiri

时间:2012-12-12 21:07:06

标签: html ruby-on-rails ruby parsing nokogiri

我知道要使用Nokogiri,需要运行:

gem install nokogiri

并且在使用nokogiri的ruby文件中有require 'nokogiri'。 但是,我正在尝试定制Nokogiri,所以我需要能够调用Nokogiri项目。我做了什么:

  1. 从中下载Nokogiri项目 https://github.com/sparklemotion/nokogiri
  2. 进行一些更改。
  3. 所以我想要的是能够调用并运行这个修改过的Nokogiri,而不是我通过gem install Nokogiri安装的Nokogiri。有人知道吗 ?

    由于

1 个答案:

答案 0 :(得分:2)

当您开发修改时,您可能希望在进行代码更改和查看结果之间采取最少的步骤。在这种情况下,您可能希望直接加载您正在处理的代码。

如果您使用的是bundler,可以添加:

gem 'nokogiri', :path => "/some/path/to/my/copy/of/nokogiri"

如果你只是编码,你可以这样做:

$:.unshift("/some/path/to/my/copy/of/nokogiri/lib")
require 'nokogiri'

一旦您对修改感到满意,您可能想要创建自己的包含它们的gem。这样,您就不会依赖于您在特定位置的nokogiri gem代码等。为此,您需要create a gemspec。请注意,您应该更改宝石名称(难度)或版本(简单),以区分您的宝石与您正在使用的现有nokogiri宝石。

然后:

rake gem
rake install_gem

在主项目中正常使用gem,即gem 'nokogiri'require 'nokogiri'