1

I just replaced RVM with rbenv, and cleaned all RVM-related things.

Everything went fine except Jekyll which doesn't generate anything inside _site.

Then I tried to start it with --no-auto, and got this exception:

/home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:203:in `parse': (<unknown>): found unexpected end of stream while scanning a quoted scalar at line 3 column 8 (Psych::SyntaxError)
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:151:in `parse'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:127:in `load'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/lib/jekyll/convertible.rb:33:in `read_yaml'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/lib/jekyll/page.rb:24:in `initialize'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/lib/jekyll/site.rb:140:in `new'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/lib/jekyll/site.rb:140:in `block in read_directories'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/lib/jekyll/site.rb:130:in `each'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/lib/jekyll/site.rb:130:in `read_directories'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/lib/jekyll/site.rb:98:in `read'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/lib/jekyll/site.rb:38:in `process'
  from /home/carlos/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/bin/jekyll:250:in `<top (required)>'
  from /home/carlos/.rbenv/versions/1.9.3-p327/bin/jekyll:23:in `load'
  from /home/carlos/.rbenv/versions/1.9.3-p327/bin/jekyll:23:in `<main>'

I really have no idea where it got the "1.9.1" inside the gems folder.

ruby -v:

ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]

What's going on here?

the Tin Man
  • 158,662
  • 42
  • 215
  • 303
caarlos0
  • 20,020
  • 27
  • 85
  • 160
  • The 1.9.1 thing is [explained here](http://stackoverflow.com/q/8564210/215168) – Abe Voelker Nov 29 '12 at 23:27
  • got it, thanks! About the error, any idea? – caarlos0 Nov 29 '12 at 23:29
  • 2
    Not sure, but it looks like some kind of malformed YAML trying to be parsed. Double-check any .yml config files you have. The error reads like it's a line that has a string value (starts with a `"`) but the file ends before the matching `"` is found – Abe Voelker Nov 29 '12 at 23:33
  • not really, I found the issue. Thanks anyway for your help :) – caarlos0 Nov 29 '12 at 23:42
  • Psych is the heart of YAML by default in Ruby 1.9, so @AbeVoelker is right. – matt Nov 30 '12 at 06:44

1 Answers1

1

Found the issue. Seems like psych is double loaded, one time by gem, other by stdlib. So, i just removed the gem:

 gem uninstall psych 

And now it's working.

Anyway, here, take some related links:

There's also a solution that say's to add the psych gem to application Gemfile. Weird.

matt
  • 515,959
  • 87
  • 875
  • 1,141
caarlos0
  • 20,020
  • 27
  • 85
  • 160
  • I doubt that "double loaded" has anything to do with it. It's a question of the psych *version*, perhaps. You may have uncovered a bug in the more recent version of psych (the version in the gem). Personally, I'm unhappy about psych being forced upon YAML users in Ruby 1.9; it is not ready for prime time. Previously, Syck was used - and it worked fine. – matt Nov 30 '12 at 06:46
  • maybe... about syck, I agreed with you. – caarlos0 Nov 30 '12 at 10:08
  • 1
    You can get syck to return by saying `YAML::ENGINE.yamler = 'syck'`. – matt Nov 30 '12 at 16:44
  • that's cool! Thanks for your tip. – caarlos0 Nov 30 '12 at 18:12