我目前正在尝试向gemygems.org发布gem并遇到一些困难。我已经在我的系统上构建了gem,但是当我将它推送到rubygems时,我收到了这个错误:
// ♥ gem push upcoming-0.2.0.gem
Pushing gem to https://rubygems.org...
Repushing of gem versions is not allowed.
Please use `gem yank` to remove bad gem releases.
当我去试听版本时,我收到了这个:
// ♥ gem yank upcoming-0.2.0.gem -v 0.2.0
Yanking gem from https://rubygems.org...
This gem could not be found
以下是gem build的终端输出:
// ♥ gem build upcoming.gemspec
WARNING: open-ended dependency on nokogiri (>= 0) is not recommended
if nokogiri is semantically versioned, use:
add_runtime_dependency 'nokogiri', '~> 0'
WARNING: open-ended dependency on pry (>= 0, development) is not recommended
if pry is semantically versioned, use:
add_development_dependency 'pry', '~> 0'
WARNING: See http://guides.rubygems.org/specification-reference/ for help
Successfully built RubyGem
Name: upcoming
Version: 0.2.0
File: upcoming-0.2.0.gem
有谁知道我在这里出错了,或者如何绕过这个问题来发布宝石?
更新:我认为问题是gem的名字已经在rubygems上使用了。
// ♥ gem yank upcoming -v 0.2.0
Yanking gem from https://rubygems.org...
You do not have permission to delete this gem.
任何人都知道重命名宝石的最快方法吗?我的所有文件及其内容都包含即将发布的单词,这是它的原始名称。是否有一种简单的方法可以重命名它而无需重命名所有这些文件并更改其内容?我尝试将gemspec文件重命名为coming-denver-concerts.gemspec并出现此错误:
// ♥ gem build upcoming-denver-concerts.gemspec
WARNING: See http://guides.rubygems.org/specification-reference/ for help
ERROR: While executing gem ... (Gem::InvalidSpecificationException)
["upcoming.gemspec"] are not files
答案 0 :(得分:1)
当您已经将当前版本的gem(0.2.0)推送到Rubygems时,会发生第一条消息(This gem could not be found
)。你不能推两次。
我认为,第二条消息是滥用Rubygems CLI。帮助文件指出Usage: gem yank GEM -v VERSION
。我想如果您将命令更改为以下内容:
$ gem yank upcoming -v 0.2.0
您的yank
会成功。
构建中的消息只是警告 - 值得修复,但不能阻止成功构建。
答案 1 :(得分:0)
我能够重命名gemspec文件,git add .
和gem push(新gemspec文件名)并且gem已成功注册。谢谢大家!