I've been sitting in #rvm all night helping the author with bugs and stuff. There are a few snafus here and there but nothing fatal. Things like making it work with TextMate properly, packages needed on Ubuntu when you install certan versions with RVM, etc. I'm putting any fixes I come across as comments on the Ruby Inside post :)
Basically, it's worth persevering with. Or at least going on #rvm on irc.freenode.net and bugging the creator about ;-)
update: This is really, really great. Thanks to the author, and to Peter for spreading the word. I can't believe how seamless and convenient it is. This kind of shit is why the Ruby community kicks ass over everyone else. Wayne Seguin - you rock.
This looks like a pretty useful project. If you're using a Debian-based Linux distro, you also already have "alternatives," which is a pretty powerful framework for doing almost this exact thing.
Except that Debian's packaging policy shits all over how people actually use and distribute libraries in languages that have native packaging systems -- in my experience both Ruby and Haskell are totally fucked, and Python is done pretty decently considering.
The glacial release cycles and pointless package freezing don't help, nor does their anal-retentive insistence on rearranging everything to fit just-so into their standard filesystem layout. It infuriates them that gems are intended to be self-contained and allow multiple versions to be installed with no symlink assery.
As far as glacial release cycles are concerned, use Ubuntu, not Debian. Problem solved.
And about packages getting rearranged, yeah, I like FreeBSD's ports better too, but you really should be using apt-get only to install rubygems and then use gem rather than apt to install the gems.
Using Ubuntu doesn't always, as Canonical just reuses Debian's crap for a ton of stuff, and if they're nearing a 'release' even everything in testing freezes for fucking forever.
It's much worse with Haskell than any other language I know of -- last I checked there were two broken+old builds of ghc with different names and mutually-exclusive sets of packages that depended on them. On top of that the version of cabal (Haskell's packaging tool) in the repository was so far out of date that you couldn't use it to build anything remotely recent (including useful versions of itself), nor could you use it with anything in Hackage (the central repo).
And since we're on a Ruby thread, Ubuntu's Ruby 1.9 is 1.9.0 which is (1) buggy (2) broken (3) more than a year old. It is fucking ridiculous, no-one with any sense is using that. This version manager is actually better than apt-get for managing your Ruby installs. Go figure.
Last I checked, Debian was still working on their own elaborate scheme to have 1.8 and 1.9 coexist, without the involvement of the Ruby community. Meanwhile, the latest apt version is a useless 1.9.0 that's at least a year old.
This looks far superior to what they were cooking up, or to the ad hoc shellscripts I've been using. I wonder how well it handles gem binaries, which I found to be the trickiest aspect.
Anybody that writes Gem's will cry when they can test multiple versions without useing multiple computers or VMWare. Imagine if you could only test your work with one version of Ruby how many bugs you'd miss/hit.
For now, yeah, because 1.9 is still fairly new and not 100% compatible with older Ruby code. I imagine in a year or so everyone will be on 1.9 and this sort of thing will not be need by most people for a while.
rvm Keeps everything separated from the system in ~/.rvm
version 0.0.25 coming out in a day or so will have support for:
* Named releases, named svn tags, svn revisions, svn head for 1.[8-9].X
* Rubinius, jRuby, REE
* Named Gem Sets (eg, being able to test different sets of gems against a single version of ruby)
* And much, much more... Hop on in #rvm for more or visit http://rvm.beginrescueend.com/ once 0.0.25 is out.
Basically, it's worth persevering with. Or at least going on #rvm on irc.freenode.net and bugging the creator about ;-)