I am running Mac OSX 10.9.1 and I am using RVM to manage Ruby v2.0.0-p353.
When I try to install Rails I get this error:
Ryans-MacBook-Air-2:~ ryan$ gem install rails
ERROR: Error installing rails:
invalid gem: package is corrupt, exception while verifying: undefined method`path2class' for #<Psych::ClassLoader:0x0000010c9d0be0> (NoMethodError) in /Users/ryan/.rvm/gems/ruby-2.0.0-p353/cache/i18n-0.6.9.gem
Here is a list of gems I have installed:
Ryans-MacBook-Air-2:~ ryan$ gem list
*** LOCAL GEMS ***
bigdecimal (1.2.3, 1.2.0)
bundler (1.5.1)
bundler-unload (1.0.2)
executable-hooks (1.2.6)
gem-wrappers (1.2.1)
io-console (0.4.2)
json (1.8.1, 1.7.7)
minitest (5.2.0, 4.3.2)
psych (2.0.2, 2.0.0)
rake (10.1.1, 0.9.6)
rdoc (4.1.0, 4.0.0)
rubygems-bundler (1.4.2)
rvm (1.11.3.8)
test-unit (2.5.5, 2.0.0.0)
Does anyone have suggestions to fix this?
The latest version no longer has the
class2path
method so the problem can be avoided by downgrading the Psych gem to version 2.0.0:After the gems are installed you can upgrade the Psych gem again should you need it.
I was having the same problem and remembered seeing something in my Terminal output that said XCode developer tools was out of date or not installed (I can't remember which). It suggested running:
After doing so, I was still getting the problem. I tried removing the cache for the gemset (I'm using RVM) but still was getting the error. I was still on ruby-2.0.0-p353. I did the following and things are working for me:
With a new version of Ruby and a new gemset things work fine. Not sure what happened with the other gemset, but I noticed it first when I tried to add the
sidekiq
gem and ran$ bundle install
.I wonder if it had something to do with a recent XCode update though since I was asked about the developer tools.
Following Steps worked for me -
Go to corrupted package/gem location
$ cd /Users/ryan/.rvm/gems/ruby-2.0.0-p353/cache/
Remove corrupted package/gem
$ rm i18n-0.6.9.gem
Now install that specific gem OR
$ bundle install
I had this exact issue as well with the exact environment as you. I tried many things including the link which Alexbhandari added to the comment. I spent hours and finally decided to call it quits and totally wipe all of the ~/.rvm folder and start again.
Warning: this should only be done for new installs without first considering what you might lose things, such as as gemsets you may have built yourself. If however it is a new install you will not loose anything that cannot be replaced.
I renamed the ~/.rvm folder so that I did have a backup and started the whole install process again. This time it worked and I was actually up and running within about 20 minutes as opposed to the hours I had wasted prior trying to fix the issue.
You do this from the terminal window with the
mv
command. The ~/.rvm directory was in my $home directory:I know this is a drastic step however it worked for me on a new install so I am hoping it will help a newby in the future.