Und*_*ion 5 rake gem rubygems release ruby-on-rails
我正试图将我的第一颗宝石发布给Ruby Gems.宝石在当地运作良好.
我发布它使用:
$rake release
Run Code Online (Sandbox Code Playgroud)
这给了我在控制台中的这个:
example_gem 0.0.3 built to pkg/example_gem-0.0.1.gem
Tagged v0.0.1
Pushed git commits and tags
Run Code Online (Sandbox Code Playgroud)
然后该过程挂起.我等了20分钟,然后取消了.
当我试图再次释放时,我得到了:
rake aborted!
This tag has already been committed to the repo.
Run Code Online (Sandbox Code Playgroud)
所以我认为宝石已成功提交,但是16小时后,宝石不在我的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
Run Code Online (Sandbox Code Playgroud)
出了什么问题?
为了谷歌搜索和档案:我遇到了同样的问题,但原因不同.当我使用推荐的命令下载我的RubyGems凭证文件时:
curl -u pond https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
Run Code Online (Sandbox Code Playgroud)
...我必须输入错误的密码,因为文件实际上包含文本" HTTP Basic: Access denied.".没有错误输出到控制台.重复curl命令并对密码输入更加小心导致一个合理的credentials文件,并且下一次尝试运行rake release起作用.
如果您收到有关现有标签的投诉,您可能只需要在本地删除它; 使用:
git tag
Run Code Online (Sandbox Code Playgroud)
...看看有什么,一旦你确定了基于版本的标签(例如"v2.0.0"),请删除它:
git tag -d <tag_name>
Run Code Online (Sandbox Code Playgroud)