Considering the many times I've seen RVM installs fail due to checked-in broken code, I'd hardly call it "production ready" either.
1. Gemset isolation comes in handy.
2. Sometimes you want to have multiple ruby versions (e.g. MRI for app and JRuby for memory heavy script)
Recommending debian-ruby for production use is bordering on physical injury.
That's a pretty inflammatory, unsubstantiated opinion. Any reason?
And also that RVM is a development tool, and the overhead it adds to production is silly.
Using RVM anywhere is suboptimal, but using it in production is lunacy.
In my experience, the version of Ruby shipping in most Linux distros and package systems is outdated or less than ideal for production use.
The first thing I did after you left our common former employer was ditch all of the manually-installed REE on Ubuntu and changed to Debian stable with .debs of ruby and rubygems pinned in from testing. It was an improvement.
Two main reasons for this:
- sometimes the version provided by the distro doesn't have set of features which you need and careful admin can provide it for you,
- sometimes distro packagers or upstream folks violate semantic versioning (incidentally or not) and upon upgrade from distro, some of your sub-features ("sub-" doesn't have to mean "not critical") break.
Of course you lose the google-fu you've mentioned, but to be honest, many production environments are so distinct that there's no sane way to compare one to "typical Debian X.Y server".
I personally find FreeBSD approach very convenient wrt to the issues above, because ports evolve independently from the base system; but YMMV.
Edit: Just in case I'm coming off as snarky here, I don't mean to. My projects tend to be on the simpler end, and rvm saves me a lot of time. I'm sure it's a little cowboyish for bigger projects - I was just wondering if there was something about rvm that made it universally inappropriate for production use.
Double Edit: "a bunch" is probably an overstatement. rvm was a great help transitioning to 1.9.2. I'm not sure if it will provide much utility going forward.
In any event, the immediate benefit is we can provide a tool that lets our users set up whatever Ruby they want to use, as we shouldn't be forcing that on them. Moreover, it makes it dead simple to deploy different Rubies out to different parts of the cluster, since everything is role-based. That's far from the common use case -- most people use the same Ruby everywhere. But if you have more complex needs, RVM affords a lot.
Yet I don't know a single ruby shop who runs with a distro-packaged ruby, even though REE is available as a .deb.
Every week I run into problems/confusion with the environment it creates and expects.
I would never put it anywhere near production.
I no longer install ruby at a system level, not needed, only users running ruby stuff need ruby installed and never use distro ruby, creates all sorts of issues...
It looks promising though, especially as an alternative to RVM in development. I'm keen on installing something that doesn't take over my shell.
I'm not going to lose sight of how awesome RVM is though. It changed the way I develop in Ruby.