rake发布失败(使用gem bundler)

Gio*_*ino 7 ruby git gem rubygems bundler

我在这里发布了我的第一个rubygem:https://rubygems.org/gems/blomming_api (源代码:https://github.com/solyaris/blomming_api)

我使用了bundler,用bundle gem命令创建了三个rake任务:

$ rake -T
rake build    # Build blomming_api-0.3.7.gem into the pkg directory
rake install  # Build and install blomming_api-0.3.7.gem into system gems
rake release  # Create tag v0.3.7 and build and push blomming_api-0.3.7.gem to Rubygems
Run Code Online (Sandbox Code Playgroud)

所有罚款如果在本地安装宝石rake install:

$ rake install
blomming_api 0.3.7 built to pkg/blomming_api-0.3.7.gem.
blomming_api (0.3.7) installed.
Run Code Online (Sandbox Code Playgroud)

当我尝试发布时出现问题:

$ rake release
blomming_api 0.3.7 built to pkg/blomming_api-0.3.7.gem.
Tagged v0.3.7.
Untagging v0.3.7 due to error.
rake aborted!
Couldn't git push. `git push  2>&1' failed with the following output:

fatal: No configured push destination.
Either specify the URL from the command-line or configure a remote repository using

    git remote add <name> <url>

and then push using the remote name

    git push <name>


/home/solyaris/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:104:in `perform_git_push'
/home/solyaris/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:96:in `git_push'
/home/solyaris/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:77:in `block in release_gem'
/home/solyaris/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:129:in `tag_version'
/home/solyaris/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:77:in `release_gem'
/home/solyaris/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:50:in `block in install'
Tasks: TOP => release
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

不过我可以用successl gem push命令发布gem :

$ gem push pkg/blomming_api-0.3.7.gem
Pushing gem to https://rubygems.org...
Successfully registered gem: blomming_api (0.3.7)
Run Code Online (Sandbox Code Playgroud)

我认为问题是在git push远程配置上...有什么想法帮我配置git让rake发布运行?

顺便说一句,我已经在/home/solyaris/.gem上配置了我的rubygems凭据,gitub上的git push运行正常.我知道......我的git不情愿很大;-)谢谢giorgio

Sim*_*tti 10

该命令rake release尝试将代码推送到远程存储库(隐式假设您正在使用git)并创建标记.

在您的情况下,看起来没有为您的存储库配置git远程并且任务失败.

我个人不喜欢这样的任务.我倾向于使用

$ rake build
Run Code Online (Sandbox Code Playgroud)

然后,构建包

$ gem push pkg/...
Run Code Online (Sandbox Code Playgroud)

将gem发布到RubyGems.

如果你想使用rake release我建议你覆盖默认实现来跳过/替换/自定义Git提交.