Managing Ruby
Ruby is a popular language for web apps, and it's a common sysadmin challenge to manage the different Ruby versions required for different applications. Managing Ruby with Puppet adds a little extra fun as Puppet itself requires a certain version of Ruby.
The most common ways to manage Ruby on servers are:
Use the distro package (for example stock Ruby 1.8.7 from Ubuntu Precise)
Source install a custom version of Ruby
Package your own build of Ruby
Use RVM to manage Ruby versions
Use
rbenv
to manage Ruby versions
In many cases the distro package will be fine, which makes things easy. However, if you need a different version of Ruby from the distro package, you have a choice to make about how to manage it. If you install a custom Ruby from source, or package your own, you'll either have to replace the system Ruby, or figure out how to have both versions co-exist without interfering with one another.
RVM and rbenv
are specifically designed to handle different versions of Ruby on a machine...