A great line from Design Patterns in Ruby by Russ Olsen in talking about You Ain’t Gonna Need It (YAGNI):
Barring a sharp blow to the head, as you stand here today you are as dumb as you ever will be.
You get smarter every day. Your users (generally) understand your app and their needs better every day. Unnecessarily trying to solve future problems is really just guessing, so why do it if you do not have to?
I have been using a tool called Ruby Version Manager (RVM) for the last couple of weeks and it has been pure gold.
RVM is a command line tool which allows us to easily install, manage and work with multiple ruby environments from interpreters to sets of gems. RVM itself is easy to install!
When I first set it up, I was still using Ruby 1.8.7 at the system (non-RVM) level and set up a quick instance of 1.9.1 in RVM. My initial demo tests worked great, but once I started to actually go beyond the basics with it I started to run into some weird gem issues in regards to executables.
The fix for me was to remove all of my gems (and executables) from the system version of Ruby and instead set up a new instance of 1.8.7 under RVM. Once completed, I just set this instance of 1.8.7 as my system wide default (rvm 1.8.7 —default).