5

我正在尝试将我的第一个 gem 发布到 Ruby Gems。这颗宝石在当地工作得很好。

我使用以下方法发布它:

$rake release

这在控制台中给了我这个:

example_gem 0.0.3 built to pkg/example_gem-0.0.1.gem 
Tagged v0.0.1
Pushed git commits and tags

然后进程挂起。我等了 20 分钟,然后取消了。

当我再次尝试释放时,我得到了:

rake aborted!
This tag has already been committed to the repo.

所以我假设 gem 已经成功提交,但是 16 小时后,gem 不在我在 Ruby Gems 上的帐户下。

所以我修改了版本并再次尝试使用--trace,但该过程挂在同一个地方,只有以下添加到输出:

** Invoke release (first_time)
** Execute release
example_gem 0.0.3 built to pkg/example_gem-0.0.3.gem
Tagged v0.0.3
Pushed git commits and tags

出了什么问题?

4

2 回答 2

6

为了 Google 搜索和存档:我遇到了同样的问题,但原因不同。当我使用推荐的命令下载我的 RubyGems 凭据文件时:

curl -u pond https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials

...我一定是输错了密码,因为文件实际上包含文本“ HTTP Basic: Access denied.”。没有错误输出到控制台。重复该curl命令并更加小心地输入密码会生成一个合理的credentials文件,并且下一次运行尝试成功rake release

如果您收到有关现有标签的投诉,您可能只需要在本地删除它;利用:

git tag

...查看那里有什么,一旦您确定了基于版本的标签(例如“v2.0.0”),请使用以下命令将其删除:

git tag -d <tag_name>
于 2013-11-29T11:41:32.520 回答
0

撞了版本,又试了一次。这次奏效了。我所做的唯一更改是从 git 中删除 Gemfile.lock。

于 2013-07-05T19:55:59.977 回答