RubyGems 导航菜单

博客

返回博客文章

关于 gem yank 的政策变更

提醒:关于 gem yank 的政策变更

gem yank 自 2015 年 4 月 20 日起永久删除 gem。(终于!)

为什么?

“Yank” 一个 gem 的功能是为了从 RubyGems.org 索引中删除一个 gem,通常是因为意外的 gem push 或某人希望允许其他人接管 gem 的名称。

我们的政策是,当 gem 被 yank 时不永久删除 .gem 文件,但这些年这导致了大量支持积压。大多数支持案例是由某人意外推出了包含内部或敏感代码的 gem 造成的 - 并且我们的志愿者团队通常需要几周到几个月时间才能响应并将其移除。

关于新行为的一点说明:gem yank 将从 S3 和我们的 CDN 中移除 .gem 文件,但它不会阻止非官方镜像复制 gem 或任何人公开下载 通过网络钩子。如果您推送了一个包含内部代码的 gem,您仍然需要重置 API 密钥、URL 或任何其他敏感信息,尽管有新的行为。

关于推送相同版本的政策没有改变。不能发布两次 gem 版本。所以如果您 gem yank 一个版本,您不能快速修复一些问题然后推送一个新版本。您仍然需要增加版本号 - 幸运的是,您很快不会用完数字!

最后的说明

我们对 gem yank及其行为的担忧是,有人可能恶意或意外地移除了其他人依赖的 gem。但是,我们现在已经使用 Amazon S3 存储桶存储了多年的 gem 带有版本控制 - 所以如果有人确实删除了必要的 gem,我们可以轻松地将它们恢复。我们希望永远不会发生这种情况。

希望我们能看到这减少了 我们的支持负载。感谢您对我们的耐心,如果您过去不得不处理 gem yank 的行为。

Arthur Nogueira Neves