释放 gem 时,rake release 挂起
Posted
技术标签:
【中文标题】释放 gem 时,rake release 挂起【英文标题】:rake release hangs when releasing a gem 【发布时间】:2013-07-04 07:51:31 【问题描述】:我正在尝试将我的第一个 gem 发布到 Ruby Gems。 gem 在本地运行良好。
我使用以下方式发布它:
$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
出了什么问题?
【问题讨论】:
【参考方案1】:为了 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>
【讨论】:
如何在窗口上执行此操作?..我试过这个,但结果是“系统找不到指定的路径。” 我对 Windows 无能为力,抱歉,我不使用它。我通常发现软件开发只有在 OS X 或 Linux 主机上才真正可行,除非你在他们的 IDE 中做 100% 以微软为中心的事情。也许你是在直接复制我的命令——~/.gem/credentials
是一个类 Unix 路径名。 ~
表示“您的主文件夹”。您需要在其中放置等效的 Windows 路径...C:\blah\blah\blah
或其他更先进的东西; Windows 非常奇怪。【参考方案2】:
撞了版本,再试一次。这次奏效了。我所做的唯一更改是从 git 中删除 Gemfile.lock。
【讨论】:
以上是关于释放 gem 时,rake release 挂起的主要内容,如果未能解决你的问题,请参考以下文章
Gem::LoadError: You have already activated rake
如何在 ruby on rails 的亚马逊 aws 服务器中使用 gem 执行 rake 任务?