如何在yanking gem之后修复RubyGems.org项目页面?

时间:2013-05-17 16:40:26

标签: ruby rubygems gem yank gemcutter

我在这里发布了一个宝石:https://rubygems.org/gems/rangy-rails/

当我在2013年3月首次发布时,我后来意识到我设置的版本不正确。

我立刻猛拉了宝石并用正确的版本重新提交。不幸的是,RubyGems没有删除被抛出的宝石,这导致了两个问题:

  1. 版本列表未正确排序(抽奖的宝石位于顶部):https://rubygems.org/gems/rangy-rails/versions

  2. 我在gemGems上的宝石主页:https://rubygems.org/gems/rangy-rails/正在使用关于被淘汰的宝石的描述而不是gemspec的描述。

  3. 我该如何解决这个问题?

    到目前为止,我唯一的选择似乎是联系RubyGems,但他们明确说出以下内容:

      

    我们的政策是只删除真正需要它的宝石,例如   可能包含密码,恶意/有害代码等的宝石   一个宝石有效地将它从被发现中删除,并将诀窍   99%的情况。

    (来源:http://help.rubygems.org/kb/gemcutter/removing-a-published-rubygem

2 个答案:

答案 0 :(得分:2)

问题2是可以解决的。描述取自gem的最新非预发布版本(不包括yanked版本)。 (查看有关预发行宝石版本here的更多信息。)现在,您的宝石有3个版本,而两个非抽搐的宝宝都是预发行版(它们在宝石版本中有字母)。如果您推送新版本的gem,即使它是0.0.1或者其他东西,那就是“发布”版本,它将用于描述。

我做了一个小测试gem here来演示我正在谈论的内容 - 注意the description page取自最新的非预发布版本(在我的情况下为0.0.1)。

没有自助式方法来“解决”问题1 - Rubygems.org将始终以语义版本顺序显示您的gem版本,从最高到最低。我不确定为什么这是一个大问题 - 大多数人通常不会看版本页面。在大多数情况下,Yanking将掩盖坏版本,正如文档所述,在这种情况下,Yanking可能会“耍手段”。

如果您真的想要永久隐藏被淘汰的宝石的痕迹并将其从版本列表中完全删除,您需要联系Rubygems工作人员,看看他们是否愿意提供帮助。

答案 1 :(得分:0)

您需要发布新版本,而不仅仅是淘汰。即,如果抽奖版本为1.3.0.772,则需要发布1.3.0.780(例如)