Pregunta

Due to an issue in Sprockets that fails in Ruby 2.0, I need to update my Rails version to the latest version. As a result, my Gemfile looks like this:

gem 'rails', git: 'git://github.com/rails/rails.git', branch: "3-2-stable"

which then results in the stack trace shown below. Rails edge also shows the same problem, though they are running their test suite against Ruby 2.0 so it must be compatible.

So I'm guessing there may be dependent libraries that either Rails or Ruby were built against that aren't playing nice with Ruby 2.0-preview1

> bundle
Updating git://github.com/rails/rails.git
Unfortunately, a fatal error has occurred. Please see the Bundler 
troubleshooting documentation at http://bit.ly/bundler-issues. Thanks! 
.rvm/rubies/ruby-2.0.0-preview1/lib/ruby/2.0.0/psych.rb:205:in `parse': (<unknown>): mapping values are not allowed in this context at line 8 column 35 (Psych::SyntaxError)
  from .rvm/rubies/ruby-2.0.0-preview1/lib/ruby/2.0.0/psych.rb:205:in `parse_stream'
  from .rvm/rubies/ruby-2.0.0-preview1/lib/ruby/2.0.0/psych.rb:153:in `parse'
  from .rvm/rubies/ruby-2.0.0-preview1/lib/ruby/2.0.0/psych.rb:129:in `load'
  from .rvm/rubies/ruby-2.0.0-preview1/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:491:in `from_yaml'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler.rb:294:in `block in load_gemspec_uncached'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler.rb:291:in `chdir'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler.rb:291:in `load_gemspec_uncached'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler.rb:282:in `load_gemspec'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/source.rb:411:in `block in load_spec_files'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/source.rb:410:in `each'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/source.rb:410:in `load_spec_files'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/source.rb:799:in `load_spec_files'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/source.rb:381:in `local_specs'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/source.rb:774:in `specs'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/definition.rb:491:in `block in converge_locked_specs'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/definition.rb:480:in `each'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/definition.rb:480:in `converge_locked_specs'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/definition.rb:166:in `resolve'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/definition.rb:113:in `specs'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/definition.rb:108:in `resolve_remotely!'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/installer.rb:81:in `run'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/installer.rb:14:in `install'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/cli.rb:230:in `install'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/vendor/thor/task.rb:27:in `run'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/vendor/thor.rb:275:in `dispatch'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/vendor/thor/base.rb:408:in `start'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/bin/bundle:14:in `block in <top (required)>'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/lib/bundler/friendly_errors.rb:4:in `with_friendly_errors'
  from .rvm/gems/ruby-2.0.0-preview1@global/gems/bundler-1.2.1/bin/bundle:14:in `<top (required)>'
  from .rvm/gems/ruby-2.0.0-preview1@global/bin/bundle:19:in `load'
  from .rvm/gems/ruby-2.0.0-preview1@global/bin/bundle:19:in `<main>'
  from .rvm/gems/ruby-2.0.0-preview1@album_releases/bin/ruby_noexec_wrapper:14:in `eval'
  from .rvm/gems/ruby-2.0.0-preview1@album_releases/bin/ruby_noexec_wrapper:14:in `<main>'
¿Fue útil?

Solución

This was a bug in Bundler, as described here: https://github.com/rails/rails/issues/8136

It has since been fixed.

Otros consejos

I had this issue. It was caused by psych seeing code like "this:" in a heredoc within a gemspec (Prawn, in my case), and thinking it was a hash. I believe it's a regression in 2.0.0-preview1, because i had had ruby-head prior, and did not hit this issue.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top