如何用我的gemspec删除另一个宝石

时间:2012-04-20 15:47:31

标签: ruby rubygems

我们有一个gem foo曾经依赖我们的另一个宝石bar。但现在我们已将bar代码直接提取到foo

下次用户升级bar时是否可以删除foo个gem?

1 个答案:

答案 0 :(得分:0)

我似乎找到了一个快速而肮脏的解决方案,类似于adding conditional install time deps。不幸的是,我还没弄清楚如何告诉用户,因为除非用户指定详细,否则gem会压缩扩展输出。

在ext / mkrf_conf.rb中,我补充道:

require 'rubygems'
require 'rubygems/uninstaller.rb'
begin
  gem = Gem::Specification.find_by_name('other_gem');
  Gem::Uninstaller.new('other_gem').uninstall
rescue Gem::LoadError
end