RVM makes Ruby installation easy(*)

logo

(*) As long as you are running some flavor of Unix.

Ruby has a reputation for being difficult to set up. Looking at the setup documentation, I can see where that reputation came from. I suspect most of the reputation I heard came from Windows users, since that’s the camp I’ve historically been in. Windows users aren’t used to being treated as afterthoughts… and the Ruby community certainly does treat Windows as a second-class citizen. Most information applied to various flavors of Unix. Random aside: This surprisingly included the very-remotely-Unix-based Mac OS X. Mac instructions are more about ‘updating’ and I eventually figured out that recent versions of Mac OS X included Ruby. (An older version recognized to be stable but out of date.)

Back to Windows: Everything I found can be summed up as “Eh… look at this forum post, some people had good luck with XYZ. But you’re on your own, pal.”

After reviewing my options, I decided my first steps to the Ruby world would be:

  1. Ignore all the Windows hacks instructions.
  2. On my Windows development computer, install Ubuntu in a Hyper-V Virtual Machine.
  3. Inside the VM, follow the directions for installing Ruby on Ubuntu via RVM

RVM (Ruby Version Manager) is an utility some Ruby users wrote to help them keep the various Ruby versions straight. The fact this even exists and considered necessary is a little disquieting. Ruby users have to use something like RVM to switch versions around to match the version of whatever they need to get done that day. This implies that backwards compatibility is not exactly a strength of Ruby. (Possibly not even a design goal…)

I spent most of my professional career to date worrying about backwards compatibility day and night. This is a very different world. I’m not sure I’ll like it here, but I’m sure going to give it a try.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s