2

gem をビルドしたばかりで、 version を指定し0.0.1ます。rubygem.org で自分の gem
を確認したところ、自分のものではないバージョンが 1 つリストされていることがわかりました。すべてのバージョンを確認したところ、gem がヤンクされていることがわかりました。バージョンも間違っています。私の宝石が古いものではなくヤンクされたものとして表示されるのは一種のバグだと思います。 誰かがその名前を所有できるすべての宝石をヤンクした場合、通常のコマンドでインストールされ、期待どおりに機能しましたが、インストール後に次のメッセージのみが表示されることを読みました: How can I mark other gem as 'not mine'? 次のバージョンでは、どのバージョンを入れればよいですか? どちらの 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) をヤンクしたことによる副作用です。ヤンクされたバージョンは消費され、後で使用できなくなります。

詳細については、 http://help.rubygems.org/kb/gemcutter/removing-a-published-rubygemを参照してください。

gem バージョンを再プッシュできないのはなぜですか?

これにより、いくつかの問題が発生し始めます。

  • (gem ミラーを使用して) サイトをくまなく調べているミラーは、同期が取れていません。
  • クライアントは gem の内容を (MD5 などを介して) 検証できないため、同じコードを期待して異なるバージョンをダウンロードできます。
  • gem のバージョンが不足することはありません。新しいバージョンをプッシュするだけです。
于 2013-08-11T17:57:31.213 に答える