/Library/Ruby/Site/1.8/rubygems.rb:779: In `report_activate_error': Could Not Find RubyGem Railties (>= 0) (Gem::LoadError)

I tend to blog things that I want to remember, but couldn’t find in one quick Google search.

This is an error I got while starting the Rails Tutorial, because I was using an old system (I counted about 160 gems installed) and starting to use rvm for managing my Ruby installs, because the Rails Tutorial recommends it. I haven’t had this kind of issue before, because rails, gem, and ruby commands have all just worked out-of-the-box for me since Mac OS X 10.5 was released.

When I tried to create a new Rails app, I got the error in the title of the blog post:

minimite:railstutorial.org mathiasx$ rails new first_app
/Library/Ruby/Site/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem railties (>= 0) (Gem::LoadError)
        from /Library/Ruby/Site/1.8/rubygems.rb:214:in `activate'
        from /Library/Ruby/Site/1.8/rubygems.rb:1082:in `gem'
        from /usr/bin/rails:18
minimite:railstutorial.org mathiasx$ rails -v
/Library/Ruby/Site/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem railties (>= 0) (Gem::LoadError)
        from /Library/Ruby/Site/1.8/rubygems.rb:214:in `activate'
        from /Library/Ruby/Site/1.8/rubygems.rb:1082:in `gem'
        from /usr/bin/rails:18

That didn’t make sense. Where is the Rails command being run from?

minimite:railstutorial.org mathiasx$ which ruby
/Users/mathiasx/.rvm/rubies/ruby-1.9.2-p0/bin/ruby
minimite:railstutorial.org mathiasx$ which gem
/Users/mathiasx/.rvm/rubies/ruby-1.9.2-p0/bin/gem
minimite:railstutorial.org mathiasx$ which rails
/usr/bin/rails

Aha. Obviously the previously-installed Rails gem, from before installing rvm, was an issue. So I figured I’d just clean it up.

minimite:railstutorial.org mathiasx$ rvm list

rvm rubies

   ruby-1.8.7-p302 [ i386 ]
=> ruby-1.9.2-p0 [ i386 ]

minimite:railstutorial.org mathiasx$ rvm use 1.8.7
Using /Users/mathiasx/.rvm/gems/ruby-1.8.7-p302
minimite:railstutorial.org mathiasx$ sudo gem uninstall rails
Remove executables:
        rails

in addition to the gem? [Yn]  y
Removing rails
Successfully uninstalled rails-3.0.1
minimite:railstutorial.org mathiasx$ which rails
/usr/bin/rails

But I hadn’t been paying attention. I still had not removed the Rails executable, because I was calling the rvm version of Ruby 1.8.7 and not the system-level one. Knowing that Rails was in /usr/bin/rails, I assumed that the gem executable that managed it would also be in /usr/bin:

minimite:railstutorial.org mathiasx$ sudo /usr/bin/gem uninstall rails
Remove executables:
        rails

in addition to the gem? [Yn]  y
Removing rails

You have requested to uninstall the gem:
        rails-3.0.0
clearance-0.9.0.rc9 depends on [rails (~> 3.0.0)]
factory_girl_rails-1.0 depends on [rails (>= 3.0.0.beta4)]
suspenders-0.1.0.beta.4 depends on [rails (>= 3.0.0)]
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn]  y
Successfully uninstalled rails-3.0.0

I’d finally removed the system-level Rails script and can switch back to using rvm for everything:

minimite:railstutorial.org mathiasx$ rvm use 1.9.2
Using /Users/mathiasx/.rvm/gems/ruby-1.9.2-p0
minimite:railstutorial.org mathiasx$ which rails
/Users/mathiasx/.rvm/gems/ruby-1.9.2-p0/bin/rails
Using /Users/mathiasx/.rvm/gems/ruby-1.9.2-p0
minimite:railstutorial.org mathiasx$ rails new first_app
      create
      <-- Lots of output -->

It works!

Lesson learned: Always pay attention. The answer is probably sitting right in front of you.

.