宝石名称太多了

时间:2016-05-11 18:59:58

标签: ruby rubygems

我正在尝试发布我的宝石。看起来我有两个错误。

  

无法加载/Users//.gemrc,因为它不包含有效的YAML哈希

     

错误:执行gem时...(Gem :: CommandLineError)

     

宝石名称太多(/Users//Documents/Projects/Gems/Pirateme/pkg/.gem,Set,to,http://mygemserver.com);请只注明一个

任何人都可以为它发光吗?不确定,我重新启动了宝石几次。

2 个答案:

答案 0 :(得分:4)

我有同样的错误而没有任何.gemrc,但我从<my_gem>.gemspec删除了这些行

  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
  # to allow pushing to a single host or delete this section to allow pushing to any host.
  if spec.respond_to?(:metadata)
    spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
  else
    raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
  end

它的确有效

see this commit

答案 1 :(得分:0)

我来晚了一点,但这也许会对其他人有所帮助。我遇到了相同的错误,.gemspec文件中的以下更改对我有用。仅需要指定推送主机,因为rake release在推送​​之前准备了我们的gem(如果没有指定推送位置,第二部分将很困难)。

if spec.respond_to?(:metadata)
  spec.metadata["allowed_push_host"] = 'https://rubygems.org'
else
  raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
end