如何将可选依赖项添加到rubygems,因为它不支持它?Rubygems可选依赖关系
使用案例:
- 我有,它要么依赖于反向移植,EXTLIB,面或的ActiveSupport库。在过去,我只是没有添加任何这种依赖,因为人们可以选择(阅读:它可以很好地与他们使用的任何东西一起玩),但是人们抱怨了很多关于图书馆没有开箱即用,或者他们会相信它依赖于ActiveSupport(在某些情况下,这对某些人来说是不适合的)。所以目前它取决于Backports,因为它是最小的。尽管这意味着如果安装我的库,人们将安装Backports,即使它们可能不会在运行系统中使用它。
- 我想依靠不同的宝石取决于环境(即Johnson on MRI/Rubinius,JRuby上的TheRubyRhino,MacRuby上的Lyndon)。
我虽然要做的一个方法是劫持extconf.rb
。我可以在那里做系统检查。但是,这感觉不对。而且,如果这是唯一的方法,我该如何去做呢?我如何触发从那里安装额外的宝石? system 'gem install ...'
?
我做到了,但有些人只是不在乎和尖叫“错误”。另外,我希望它能够工作。虽然这可能是要走的路(因为rubygems无法处理这种情况)。 – 2010-06-08 12:45:31
我不知道rubygems是否接受功能请求,或者它是否“受欢迎的修补程序”...... – 2010-06-08 23:16:21
我认为这很难实现,例如因为破坏兼容性不是选项,元数据可能不包含可执行代码。 – 2010-06-09 10:48:27