我们有一个 gemfoo
曾经依赖于我们的另一个 gem bar
。但现在我们已经将bar
代码直接拉入foo
.
bar
下次我们的用户升级时是否可以删除 gem foo
?
我似乎找到了一个快速而肮脏的解决方案,类似于添加条件安装时间 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