3

Rubygems に gem をプッシュしたい。しかし、私はいつもこのメッセージを受け取ります:

C:\ruby\my_gem>gem push my_gem-0.0.1.gem -k rubygems_api_key
Pushing gem to https://rubygems.org...
ERROR:  No such API key. Please add it to your configuration (done automatically on initial `gem push`).

鍵をセットしましたC:\Documents and Settings\User\.gem\credentials

---
rubygems_api_key: e06b38 ...
:rubygems_api_key: e06b38 ...

Rubygems のプロフィール ページからコピーして貼り付けます。それで正解です。しかし、エラーが発生します。何が問題ですか?それを解決する方法は?

4

3 に答える 3

4

何らかの理由で ruby​​gems がそのapi_key部分をrubygems_api_keyキーから削除します。ただし、他のキーを資格情報ファイルに追加して、完全な名前で参照することで使用できます。

https://github.com/rubygems/rubygems/blob/4305567f0182bc08e27c63dcc99842a094af38c6/lib/rubygems/config_file.rb#L289-L293

に次のものがある場合.gem/credentials

---
:rubygems_api_key: e06b38 ...
:someother_api_key: 43240230...
:secret: 08n23u30...

あなたは実行できるはずです

gem push my_gem-0.0.1.gem -k rubygems
# this is the same as not using the -k/--key arg
gem push my_gem-0.0.1.gem

また

gem push my_gem-0.0.1.gem -k someother_api_key
gem push my_gem-0.0.1.gem -k secret
于 2016-03-22T17:27:26.853 に答える
2

認証情報ファイルの 2 行目が間違っていると思います。私のファイルでは、最初の行は 3 つのダッシュで、2 行目はコロンで始まります。だから私はそれがあるべきだと思う:

---
:rubygems_api_key: e06b38 ...

rubygems.org のプロファイル ページに移動するcurlと、このファイルを作成するコマンド ラインにカット アンド ペーストできるコマンドが見つかります。

于 2013-06-18T19:11:06.830 に答える