我有一个自定义rubygems服务器,其中发布了一些自定义gem。我创造了一个新的宝石,我们称之为the_gem
。并以1.0.0
版本发布。我的gitlab下的另一个项目(主项目)使用了这个gem,所以我把它包含在那里。然后,main_project上的CI开始了。它使用bundle install --path /tmp/bundle
命令获取了1.0.0版本的gem。然后,我意识到我在the_gem
中犯了一个错误,所以我用静态版本1.0.0
修复了它,因为宝石还没有在任何地方使用过。
我再次在我的主项目上运行CI,而不是从我的服务器获取gem,而是使用缓存的第一个版本(using the_gem 1.0.0
而不是预期的installing the_gem 1.0.0 from my.cusomgems.com
。
我坚信Gitlab会在某个地方缓存宝石以加速CI时间。
但有没有办法从gitlab中删除gem,无论它存储在哪里,都可以再次下载更新的包?
P.S。我知道有一种simple
方式 - 发布1.0.1
版本,但我想避免这种情况,如果可能的话,并坚持使用版本1.0.0。
答案 0 :(得分:0)
Gitlab实际上不是这里的问题。 Rubygems不允许覆盖gem版本。您可以使用gem yank
删除错误的版本,但您将无法在该服务器上发布另一个1.0.0
。有关详细信息,请参阅此github comment。