yashaka
yashaka

Reputation: 836

How to fix "RubyGems.org cannot process this gem. The metadata is invalid. Unknown alias: id001"

Failed to release a ruby gem:

$ bundle exec rake release
widgeon 1.1.4 built to pkg/widgeon-1.1.4.gem.
Tagged v1.1.4.
Pushed git commits and tags.
rake aborted!
Pushing gem to https://rubygems.org...
RubyGems.org cannot process this gem.
The metadata is invalid.
Unknown alias: id001
/Users/ayia/.rvm/gems/ruby-1.8.7-head/gems/bundler-1.7.0/lib/bundler/gem_helper.rb:149:in `sh'
/Users/ayia/.rvm/gems/ruby-1.8.7-head/gems/bundler-1.7.0/lib/bundler/gem_helper.rb:83:in `rubygem_push'
/Users/ayia/.rvm/gems/ruby-1.8.7-head/gems/bundler-1.7.0/lib/bundler/gem_helper.rb:77:in `release_gem'
/Users/ayia/.rvm/gems/ruby-1.8.7-head/gems/bundler-1.7.0/lib/bundler/gem_helper.rb:49:in `install'
/Users/ayia/.rvm/gems/ruby-1.8.7-head/bin/ruby_executable_hooks:15
Tasks: TOP => release
(See full trace by running task with --trace)

Any ideas what may be wrong?

Previously it worked... With the time I changed gemspec a bit, but now I reverted it to original version and it still doesn't work...

Googling did not help...

UPDATE: gemspec:

# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'widgeon/version'

Gem::Specification.new do |spec|
  spec.name          = "widgeon"
  spec.version       = Widgeon::VERSION
  spec.authors       = ["Iakiv Kramarenko"]
  spec.email         = ["[email protected]"]
  spec.summary       = %q{Yet another page objects for Capybara with the ability to create widgets opened automatically (implementation of LoadableComponent selenium pattern)}
  spec.description   = %q{Yet another page objects for Capybara of 2.0.3 version, i.e. compatible with ruby 1.8.7. Will switch to support latest versions of ruby soon}
  spec.homepage      = "https://github.com/yashaka/widgeon"
  spec.license       = "Apache License, Version 2.0"

  spec.files         = `git ls-files -z`.split("\x0")
  spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
  spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
  spec.require_paths = ["lib"]

  spec.add_dependency 'nokogiri' , '~>1.5.10'
  spec.add_dependency 'mime-types', '= 1.25'
  spec.add_dependency 'capybara', '= 2.0.3'
  spec.add_development_dependency "bundler", "~> 1.6"
  spec.add_development_dependency "rake"
  spec.add_development_dependency "rspec"
end

Upvotes: 0

Views: 66

Answers (2)

Arthur Neves
Arthur Neves

Reputation: 12128

Problem

RubyGems.org is now using a more modern version of YAML parser, which is more secure and has more features. This parser is more strict to old versions of YAML, and as far as I can tell you are using a older one, because of ruby 1.8.x

Solution

Upgrade rubygem client: gem update --system

Upvotes: 1

yashaka
yashaka

Reputation: 836

Originally was trying to perform the task with ruby 1.8.7

Switching to ruby 1.9.3 fixed the problem.

Upvotes: 0

Related Questions