Get started right with RVM
sirupsen.com
sirupsen.com
I don't know how I ever managed multiple projects before RVM. Thinking back, I don't think I'd ever call what I was doing "management"...
That said I understand people doing a lot of work on other people's computers (e.g. Ruby on Rail) may find it really useful.
Personally now it's 1.9.2 all the way! :D
I can see the appeal of something like RVM. But despite using Ruby a lot, it's mostly stuff for myself so I just use whatever it's the latest. The reason why I thought about RVM was that I wanted to try MacRuby (and rare cases when I need to move back to the system's ruby) and was suggested to use RVM.
RVM is great to test against different versions (and implementations), especially if you do a lot of team-work: For instance, if you work in a team, or in production environments, the newest version of Ruby may be ahead of the production version, and then it's a must being able to switch from one version, or implementation, to another--painlessly.
A personal use case I could come up with (there are a lot of them): You make an app., and it runs with Ruby 1.9.2. You deploy this app., and then Ruby 1.9.3 is released, and your app. is no longer compatible. You want to stay on the cutting-edge still, so you want 1.9.3, but your project is not compatible with 1.9.3, and still needs some work to be, since it's grown rather huge. Here RVM would be handy!
When I was just toying around with Ruby, I didn't use RVM either. It's not until I've got work within the Ruby field, I've had the need for it. :)
I haven't noticed any clashes even in this case. By default your rvm is installed for just one user. So if you're all that worried I'd create a different user to try out rvm, and just install rvm on that user. Then if it fucks up you can nuke that user.
If you want to play with MacRuby and keep a more standard Ruby that you already have installed, rvm may be a good choice.
Your not adding much value to a conversation when you make assertions based on zero experience with the thing you're criticizing.
I wasn't trying to throw FUD: I very clearly stated where I was coming from, and that it was only a doubt.
I also asked for some information, from people who knew more. You seem to, but you felt better just to bash me without providing any helpful hint. Your choice.
Finally it wasn't a criticism as such: as I explained I don't need to have 4 different ruby versions installed and to swap between them. On the other hand, I fear that having macport > rvm > gem in order to install a gem may be a bit too much. Hence why I didn't install it.
shrugs suit yourself, though personally it seems you are the one contributing absolutely nothing.
It doesn't conflict with anything and you don't really need to think about it. '$ gem install whatever' and it just works on rvm.
Do you use whatever ruby comes on your system or do you install the one single ruby you use? If the later, it's much easier to install it with rvm and rvm will keep it in a nice little box that doesn't screw with any other ruby on your system. You can get rid of it with a single 'rm' if you want to.
You were throwing fud. You could have asked, "how does rvm do xyz?". Instead you decided to state that you doubt it makes your life easier and probably makes it hard, based on nothing. That's the very definition of fud. Here's what you said, "Personally I find it a bit of an overkill for me". Really, based on what? Does that sound like "only a doubt"?
I'm not sure what kind of broad all encompassing definition of fud you have, but in that sentence there is both a "Personally" and a "for me". If from that you can't get that it's an opinion and that I am not arguing with everyone then I am not sure what to tell you.
Oh, and btw I said that it was "only a doubt" because you were quoting a different sentence, this one: "I doubt that it plays nice with other package managers", and I think it's pretty obvious why that should sound like a doubt. Now you go and quote a different sentence... why did you change quote?
Anyway bottom line is that I don't think it was FUD at all, and I think most people here seem to have read it the way it was meant it. If suddenly suggesting that RVM may not be the tool for EVERYBODY upsets your sensitivity, that's your problem. Topic over from my pov.
===As for your actual contribution====
My ruby is installed in /opt by macport (my package manager). Hence both ruby and rubygems are inside there (and I think I had to redefine some environment variables for it to work fine). Macport and rubygems already don't play too nice with each other in the sense that if I install something with rubygem macport is not aware, and if a macport package requires some gems it will try to install them via macport. (I may be wrong about this, it's my understanding from a brief overview).
RVM would be a third layer as pointed out by philwelch. Now it may very well be very clever and work like a charm, but I think I was more than justified in feeling a doubt.
The problems that you think exist with rvm don't exist. The problems you describe with macport and system ruby will likely go away if you use rvm.
What upset my sensitivity is that you make a negative assertion about rvm when you don't know if rvm even has that problem and it in fact doesn't.
edit: I put up a short tutorial on how to get this running on Lenny: http://www.reedglaw.com/rails/InstallRailsRVM
It's not that you don't need to, it's that you shouldn't. Using sudo to install gems will do so outside of your rvm gemset, and so the gems you install this way will not be available to your app using the gemset.
Gemsets simply allow you to have an isolated environment. If you want to install the gems from multiple projects in the same gemset the choice is yours.
Bundler just makes installing each project's dependencies easier.
The pattern I started to use recently was to check in include an .rvm file with the same gemset name as the project.
This way, I simply clone the project, install bundler, and then issue bundle install and my project is ready to go.
rvm ruby@gemset --create --rvmrc
`--create` creates a gemset if it doesn't already exist, and `--rvmrc` makes a .rvmrc file to automatically switch to that gemset when you cd into the current directory. This makes it easy enough, that I have a gemset per application/project, and then use bundler to install the deps.The first time I navigate to the directory the gemset is created.
Still a good tip. Thanks.