【问题标题】:rake release hangs when releasing a gem释放 gem 时,rake release 挂起
【发布时间】: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

出了什么问题?

【问题讨论】:

    标签: ruby-on-rails rubygems gem rake release


    【解决方案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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-03
      • 2020-03-08
      • 2019-03-03
      • 2014-04-16
      • 2019-07-18
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      相关资源
      最近更新 更多