简介:我正在开发一个 gem,默认情况下,它将从一些 XML 数据中提取信息并对文档进行某种处理。我正在使用 nokogiri 来解析 XML。但是,我希望允许用户自己解析 XML 并传递必要的信息以运行我的数据处理方法,以防他们不想安装 nokogiri 或已经解析了 XML。
问题:有没有办法让用户在 gem 安装期间指定他们不想安装 nokogiri 依赖项?例如(这里非常随意),
gem install crazy_gem --no-nokogiri
在 gemspec 中可能类似于
Gem::Specification.new do |s|
...
s.add_dependency 'nokogiri' unless Proc.new { install_flags('no-nokogiri') }
...
end
[编辑] 我不想过多关注上面的 gemspec 代码,因为我知道它不起作用——这只是我想做的事情的一个例子。[/编辑]
gem install crazy_gem --ignore-dependencies
在有其他依赖项之前工作得很好。