0

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

gem install nokogiri

require 'nokogiri'在使用 nokogiri 的 ruby​​ 文件中。但是,我正在尝试自定义 Nokogiri,因此我需要能够调用 Nokogiri 项目。我做了什么:

  1. 从https://github.com/sparklemotion/nokogiri下载 Nokogiri 项目
  2. 做一些改变。

所以我想要的是能够调用和运行这个修改后的 Nokogiri,而不是我通过gem install Nokogiri. 有人知道吗 ?

谢谢

4

1 回答 1

2

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

如果您使用捆绑器,则可以添加:

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

如果您只是对此进行编码,则可以执行以下操作:

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

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

然后:

rake gem
rake install_gem

并在您的主项目中正常使用 gem,即gem 'nokogiri'require 'nokogiri'.

于 2012-12-12T21:19:46.920 回答