rake dependency error

Rake no longer works for me at all. I think this is a result of having
upgraded some gems (including the RubyGem system itself), but not
others, some kind of dependency problem. (I actually didn't mean to
upgrade this stuff, but typed stuff into the wrong terminal window. Doh!
Don't think there's any good way to 'downgrade' RubyGems itself?).

But now, every time I try to run rake, to do anything at all, I get:

[rochkind@app01 ~]$ rake -v
/usr/bin/rake:17: undefined method `require_gem' for main:Object

Any ideas how I fix this?


Hmm, actually, responding to my own question as soon as I posted it,
uninstalling and then reinstalling the latest rake seems to have done

"sudo gem uninstall rake -v 0.8.3"

"sudo gem update rake".

rake -v runs again, at least.

Still wondering if there's any good way to 'downgrade' the RubyGems
installation itself, that I accidentally upgraded with "gem update
--system" before I was really ready to. All the individual gems I can
uninstall versions I don't want (or use other solutions to have my
applications using the versions I want), but the RubyGems system itself,
once I upgraded accidentally with --system, there seems to be no good
way to go back?


Jonathan Rochkind wrote:

Your solution didn't work for me. Even after uninstalling all versions
of rake and reinstalling. rake -v still doesn't run.

I fixed the problem by going into /usr/bin/rake
and changing line 17 to just gem instead of require_gem

      1 #!/usr/bin/ruby
      2 #
      3 # This file was generated by RubyGems.
      4 #
      5 # The application 'rake' is installed as part of a gem, and
      6 # this file is here to facilitate running it.
      7 #
      9 require 'rubygems'
     10 version = "> 0"
     11 if ARGV.size > 0 && ARGV[0][0]==95 && ARGV[0][-1]==95
     12 if Gem::Version.correct?(ARGV[0][1..-2])
     13 version = ARGV[0][1..-2]
     14 ARGV.shift
     15 end
     16 end
     17 gem 'rake', version
     18 load 'rake'