我知道要使用Nokogiri,需要运行:
gem install nokogiri
并在使用 Nokogiri 的 Ruby 文件中require 'nokogiri'
。但是,我正在尝试自定义Nokogiri,因此我需要能够调用Nokogiri项目。我做了什么:
- 从以下位置下载 Nokogiri 项目https://github.com/sparklemotion/nokogiri
- 进行一些更改。
所以我想要的是能够调用和运行这个修改后的Nokogiri,而不是我通过gem install Nokogiri
安装的Nokogiri。有谁知道?
谢谢
在开发修改时,您可能希望在进行代码更改和查看结果之间执行最少的步骤。在这种情况下,您可能希望直接加载正在处理的代码。
如果您使用的是捆绑器,则可以添加:
gem 'nokogiri', :path => "/some/path/to/my/copy/of/nokogiri"
如果你只是简单地编写这个代码,你可以做:
$:.unshift("/some/path/to/my/copy/of/nokogiri/lib")
require 'nokogiri'
对修改感到满意后,您可能希望创建自己的包含它们的 Gem。这样,您就不会依赖您的 nokogiri 宝石代码位于特定位置等。为此,您需要创建一个 gemspec。请注意,您应该更改宝石名称(困难)或版本(简单),以将您的宝石与您正在使用的现有 nokogiri 宝石区分开来。
然后:
rake gem
rake install_gem
并在主项目中正常使用 gem,即 gem 'nokogiri'
或require 'nokogiri'
.