我知道要使用Nokogiri,需要运行:
gem install nokogiri
并且在使用nokogiri的ruby文件中有require 'nokogiri'
。
但是,我正在尝试定制Nokogiri,所以我需要能够调用Nokogiri项目。我做了什么:
所以我想要的是能够调用并运行这个修改过的Nokogiri,而不是我通过gem install Nokogiri
安装的Nokogiri。有人知道吗 ?
由于
答案 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'
。