2

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

当我在 2013 年 3 月第一次发布它时,我后来意识到我设置了一个错误的版本。

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

  1. 版本列表排序不正确(yanked gem 位于顶部):https ://rubygems.org/gems/rangy-rails/versions

  2. 我在 RubyGems 上的 gem 主页:https : //rubygems.org/gems/rangy-rails/ 使用的是关于被拉出的 gem 的描述,而不是 gemspec 的描述。

我怎样才能解决这个问题?

到目前为止,我唯一的选择似乎是联系 RubyGems,但他们明确表示如下:

我们的政策是只永久删除真正需要它的 gem,例如可能包含密码、恶意/有害代码等的 gem。拉取 gem 可以有效地删除它,并且在 99% 的情况下都可以解决问题。

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

4

2 回答 2

2

问题2是可以解决的。描述取自 gem 的最新非预发布版本(不包括 yanked 版本)。(在此处查看有关预发布 gem 版本的更多信息。)现在,您的 gem 有 3 个版本,并且两个未抽出的版本都是预发布的(它们在 gem 版本中有字母)。如果你推送新版本的 gem,即使是 0.0.1 什么的,那也是一个“发布”版本,它将用于描述。

我在这里做了一个小测试 gem来演示我在说什么——注意描述页面取自最新的非预发布版本(在我的例子中是 0.0.1。)

没有“解决”问题 1 的自助方式——Rubygems.org 将始终按语义版本控制顺序(从最高到最低)显示您的 gem 版本。不过,我不确定为什么这是一个大问题——大多数人通常不会查看版本页面。在大多数情况下,Yanking 会掩盖坏版本,并且正如文档所述,在这种情况下可能会“成功”。

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

于 2013-05-27T10:20:46.003 回答
0

您需要发布新版本,这不仅仅是拉扯。即,如果 yanked 版本是1.3.0.772,则需要发布1.3.0.780(例如)

于 2013-05-17T19:26:37.590 回答