2

我刚刚构建了 gem,我给了它 version 0.0.1
当我在 ruby​​gem.org 上检查我的 gem 时,我看到它列出了 1 个版本,它不是我的。我检查了所有版本,发现我的 gem 被拉了。它也有错误的版本0.2.0。我想这是一种错误,它显示我的宝石被猛拉而不是旧的。
我读到,如果有人拉出所有宝石,我可以拥有该名称,因此它使用普通命令安装gem install text_analyzer并且它按预期工作,但它仅在安装后显示此消息: 如何将其他宝石标记为“不是我的”? 对于下一个版本,我应该放什么版本?我认为这两个宝石都带有版本,但错误(?)也显示版本。那么这是合理的开始还是
WARN: Unresolved specs during Gem::Specification.reset:
json (>= 0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
Gem 'text_analyzer' installed.


0.0.10.2.00.3.01.0.0?

4

1 回答 1

1

这不是错误,而是另一个程序员猛拉与您的同名 gem 的版本(在本例中为 0.2.0)的副作用。Yanked 版本已被消耗,以后无法使用。

有关详细信息,请参阅http://help.rubygems.org/kb/gemcutter/removing-a-published-rubygem 。

为什么我不能重新推送 gem 版本?

这会导致几个问题开始发生:

  • 梳理站点的镜像(带有 gem 镜像)将不同步。
  • 客户端无法验证 gems 的内容(通过 MD5 或类似的东西),因此他们可以下载不同的版本,期望相同的代码。
  • 您不会用完 gem 版本,只需推送一个新版本即可。
于 2013-08-11T17:57:31.213 回答