Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to completely wipe rubygems along with rails etc

Ok, so I decided I'd be cool and try to use Rails3 that's in beta. Then, things were getting hard to manage so I got rvm. I installed ruby 1.9.2-head in rvm and things were working, and then a computer restart later rails wouldn't start up. So I figured I'd just try running the system ruby and start rails in it. same error. Then, I uninstalled rails3 and got rails: no such file or directory type errors..

So now I'm royally screwed because rails2 is still installed but will not uninstall because of invisible dependencies, along with a lot of other random gems. How do I completely clear out all ruby gems and such so I can start anew?

like image 875
Earlz Avatar asked Feb 28 '23 00:02

Earlz


1 Answers

I've recently had to so just this. I had built up alot of cruft with my system installed ruby and gems and wanted to clean all that out and move everything over to run under rvm for various projects.

1. Clean up old and busted

First thing I did, before messing with rvm (or run rvm system to get back to the system ruby), was to remove all my gems:

gem list | cut -d" " -f1 | xargs gem uninstall -aIx

WARNING: this will uninstall all ruby gems. If you installed as root you may want to switch to root and run this.

2. Install new hotness

Now you can run gem list to see what is left.

Time to install rvm, I recomend blowing away your current install and reinstall fresh:

rm -rf $HOME/.rvm
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

Now the real trick is to use gemsets to install rails 3, and this is easy if you follow Waynee Seguin's gist:

rvm update --head
rvm install 1.8.7
rvm --create use 1.8.7@rails3
curl -L http://rvm.beginrescueend.com/gemsets/rails3b3.gems -o rails3b3.gems 
rvm gemset import rails3b3.gems

One difference is I use 1.8.7 since I have had issues with 1.9.2-head and RSpec, but 1.8.7 has been smooth.

like image 149
csexton Avatar answered Mar 07 '23 01:03

csexton