Ruby 创业板推送结果为;缺少包元数据“0”;

Ruby 创业板推送结果为;缺少包元数据“0”;,ruby,rubygems,gemspecs,Ruby,Rubygems,Gemspecs,我正试图把我更新的gem推到rubygems.com上,结果如下 ~/dev/V2/V2GPTI (master) $ gem build v2gpti.gemspec Successfully built RubyGem Name: v2gpti Version: 0.2 File: v2gpti-0.2-universal-darwin-13.gem ~/dev/V2/V2GPTI (master) $ gem push v2gpti.gemspec ERROR: W

我正试图把我更新的gem推到rubygems.com上,结果如下

 ~/dev/V2/V2GPTI (master) $ gem build v2gpti.gemspec
  Successfully built RubyGem
  Name: v2gpti
  Version: 0.2
  File: v2gpti-0.2-universal-darwin-13.gem
 ~/dev/V2/V2GPTI (master) $ gem push v2gpti.gemspec 
ERROR:  While executing gem ... (Gem::Package::FormatError)
    package metadata is missing in v2gpti.gemspec
 ~/dev/V2/V2GPTI (master) $ 
自上次推送以来,我对gem规范所做的唯一更改是添加一个
parseconfig
依赖项。这是我的宝石规格

Gem::Specification.new do |s|
  s.name        = 'v2gpti'
  s.version     = '0.2'
  s.platform = Gem::Platform.local
  s.summary     = 'Git commands for integration with Pivotal Tracker'
  s.description = 'Provides a set of additional Git commands to help developers when working with Pivotal Tracker'
  s.authors     = ['Ben Hale', 'Jeff Wolski']
  s.email       = 'jeff@xxxxxxxxx.com'
  s.homepage    = 'https://github.com/v2dev/V2GPTI'
  s.license     = 'Apache-2.0'

  s.files            = %w(LICENSE NOTICE README.md) + Dir['lib/**/*.rb'] + Dir['lib/**/*.sh'] + Dir['bin/*']
  s.executables      = Dir['bin/*'].map { |f| File.basename f }
  s.test_files       = Dir['spec/**/*_spec.rb']

  s.required_ruby_version = '>= 1.8.7'

  s.add_dependency 'highline', '~> 1.6'
  s.add_dependency 'pivotal-tracker', '~> 0.5'
  s.add_dependency 'parseconfig', '~> 1.0'

  s.add_development_dependency 'bundler', '~> 1.3'
  s.add_development_dependency 'rake', '~> 10.0'
  s.add_development_dependency 'redcarpet', '~> 2.2'
  s.add_development_dependency 'rspec', '~> 2.13'
  s.add_development_dependency 'simplecov', '~> 0.7'
  s.add_development_dependency 'yard', '~> 0.8'

我是否在gemspec中遗漏了一些内容?

不要推送
gemspec
,推送实际构建的gem:

$ gem push v2gpti-0.2-universal-darwin-13.gem

这与您的问题无关,但是为什么您要将
平台
更改为
Gem::platform.local
–这是因为
.sh
文件吗?这确实是因为这是我第一次创建Gem规范。我刚刚看了一下您的repo,我认为你不需要
platform
条目,因为gem是纯Ruby,而且通过包含它,你将它限制在与你在同一平台上的用户:我会尽快尝试这个,我可以把坏的一个拽出来。请看另一个问题。