如何向rubygems添加可选的依赖项,因为它不支持它?
用例:
我尝试的一种方法是劫持extconf.rb
。我可以在那里进行系统检查。但是,这感觉不对。而且,如果这是唯一的方法,我该怎么做呢?如何触发从那里安装额外的宝石? system 'gem install ...'
?
答案 0 :(得分:4)
您是否尝试过为未满足的依赖项提供信息性错误消息以清除这些误解?使用zombie-chaser,我不会让gosu成为依赖,但如果人们尝试使用没有gosu的图形版本,我告诉他们他们需要安装gosu。
答案 1 :(得分:2)
我知道一些采用“劫持extconf.rb
”方式的宝石:
两者都使用Gem::DependencyInstaller#install
进行安装,这可能优于system 'gem install ...'
。
另请参阅此rubygems功能请求:specify dependencies per ruby version。