title: What do rvm and rbenv do under the hood to install Ruby?
body: <p>For years, I've been dreaming about learning Ruby and the Rails framework. (Most of my development career has left me too busy to devote time to picking up a new language properly, but I'm making more time now.) I like the notion of being able to work with Ruby to develop quickly, but I'm having trouble understanding the Ruby installation process. </p>
  
  <p>Each time I've encountered it, the Ruby installation process varies slightly. The two laptops I've used over the past several years have usually been running a then-recently released version of OS X, and all seem to ship with Ruby 1.8.7. Any modern version of Rails requires Ruby 1.9.x. So, I search the web and invariable bump into a post like this:</p>
  
  <blockquote>
    <p>Use this awesome tool called rvm to manage multiple Ruby installs on the same machine.</p>
  </blockquote>
  
  <p>or this:</p>
  
  <blockquote>
    <p>rbenv is fantastic, and lightweight compared to rvm, use it instead.</p>
  </blockquote>
  
  <p>Really? What is the Ruby install process doing, and why is it so complicated? By now I've gotten Ruby installed and running, but it seems like I've always had trouble with it. I'm genuinely confused and want to understand how Ruby lives on my system. What files are these configuration tools manipulating, and why can't I just do it by hand?</p>
  
  <p>To put this a little differently: If I was RVM or rbevn, what steps am I taking to make Ruby work on a given system? Am I manipulating configuration files? Am I downloading source code and compiling it into an interpreter? Am I downloading a precompiled interpreter?</p>