inohiro
inohiro

Reputation: 285

rake command gets "cannot load such file -- yaml/encoding"

I want to use ruby-1.9.3-p194 on CentOS 5.8. I could install it with rvm and also system (libyaml and libyaml-devel were installed). But I can't run all of 'rake' tasks (not only 'rake spec').

I got "cannot load such file -- yaml/encoding". It's a sample result with trace. The 'rake' version is '0.9.2.2'. How can I resolve it?

$ rake spec --trace
rake aborted!
cannot load such file -- yaml/encoding
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in `require'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in `block in require'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:547:in `new_constants_in'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in `require'
/home/inohiro/Projects/rails_2_3_14_r5066/src/admin/lib/tasks/fixture_dump.rake:2:in `<top (required)>'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:171:in `load'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:171:in `block in load_with_new_constant_marking'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:547:in `new_constants_in'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:171:in `load_with_new_constant_marking'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rails-2.3.14/lib/tasks/rails.rb:14:in `block in <top (required)>'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rails-2.3.14/lib/tasks/rails.rb:14:in `each'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rails-2.3.14/lib/tasks/rails.rb:14:in `<top (required)>'
/home/inohiro/Projects/rails_2_3_14_r5066/src/admin/Rakefile:10:in `require'
/home/inohiro/Projects/rails_2_3_14_r5066/src/admin/Rakefile:10:in `<top (required)>'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/lib/rake/application.rb:501:in `raw_load_rakefile'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `block in load_rakefile'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `block in run'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/bin/rake:19:in `load'
/home/inohiro/.rvm/gems/ruby-1.9.3-p194/bin/rake:19:in `<main>'

Upvotes: 1

Views: 2126

Answers (1)

shime
shime

Reputation: 9008

It's not a rake problem, it's a ruby <=> rails version incompatibility. You're using the most recent stable version of ruby with the rails version from the era of dinosaurs.

You need to do some hacking in order for them to understand each other!

Here's a nice read that should get you started:

http://scottiestech.info/2012/02/07/make-rails-2-3-x-happy-with-ruby-1-9-3/

This gist also rocks:

https://gist.github.com/1976864 (thanks Jonathan!)

Upvotes: 1

Related Questions