Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

Loading rails/cli with missing plugin provides obscure error

#6663

In Gentoo ebuilds there is bug that Rails doesn’t depend on rake where railties needs it. When trying to use rails(with any argument), one gets fun error message:

www ~ # rails -v
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- rails/cli (LoadError)

    from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
    from /usr/lib64/ruby/gems/1.8/gems/rails-3.0.3/bin/rails:8
    from /usr/bin/rails:8:in `load'
    from /usr/bin/rails:8

Loading this file manually does work:

www ~ # cat foo.rb
require "rails/cli"

www ~ # ruby foo.rb
/usr/lib64/ruby/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rake (>= 0.8.7) (Gem::LoadError)

    from /usr/lib64/ruby/site_ruby/1.8/rubygems.rb:214:in `activate'
    from /usr/lib64/ruby/site_ruby/1.8/rubygems.rb:249:in `activate'
    from /usr/lib64/ruby/site_ruby/1.8/rubygems.rb:248:in `each'
    from /usr/lib64/ruby/site_ruby/1.8/rubygems.rb:248:in `activate'
    from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:35:in `require'
    from foo.rb:3

The cause for this dummy error is in file
www ~ # head -n10 /usr/lib64/ruby/gems/1.8/gems/rails-3.0.3/bin/rails

!/usr/bin/env ruby

begin
require "rails/cli" rescue LoadError
railties_path = File.expand_path('../../railties/lib', FILE) $:.unshift(railties_path) require "rails/cli" end

Here, since require fails due missing plugin, it tries with invalid path and is trying to tell that actual plugin is missing. Commenting other stuff than require gives real error. Actual problem fixed out by installing rake too, making requiring work as expected.

Reported by Samu Voutilainen · April 1st, 2011 @ 02:02 PM

State: new
Milestone: none
Assigned to: nobody
Importance: none

Activity

No comments yet.