6 ms·
Is it production ready? RVM is.
by NARKOZ 15y ago
Is it production ready? RVM is.
- nwjsmith 15y agoThe project is only 10 days old (so, no). 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.
- bonzoesc 15y agoI don't see a pressing need to use RVM in production; when I deploy, I pick a Ruby version and stick with it unless there's a security issue, at which point I pull the updated REE package from Phusion/let Heroku figure it out. Considering the many times I've seen RVM installs fail due to checked-in broken code, I'd hardly call it "production ready" either.
- nirvdrum 15y agoThe complete lack of a changelog doesn't help either. I never know whether something's going to break in a new release and almost every new release has some little semantic change that borks my system.
- xentronium 15y ago> I don't see a pressing need to use RVM in production 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)
- SpikeGronim 15y agoI have to use rvm in production because debian/ubuntu install ruby 1.8 and I need 1.9.2 for rails 3. Ruby isn't in the alternatives system (yet - coming soon) so I don't see a better way.
- alrs 15y agoapt-get install ruby1.9. It's in there.
- sanderjd 15y ago1.9.1 is there, 1.9.2 is not. But I still the the better solution is to build from source on each machine, or create a custom 1.9.2 package for the machines you will be using. As other comments have pointed out, RVM is held together with string and duct tape and breaks frequently. I haven't dug into the code from this project, but being more testable and maintainable would be one of the biggest wins they could achieve from my point of view.
- sstephenson 15y agoThat's the goal, and that's why rbenv does not perform compilation/installation at all (there's a separate ruby-build project for that: https://github.com/sstephenson/ruby-build https://github.com/sstephenson/ruby-build).
- nona 15y agoI have to contradict you (unless I'm misunderstanding you): the debian package named ruby1.9.1 is actually 1.9.2. The 1.9.1 refers to the ruby ABI. Blame the ruby devs for breaking the ABI in a minor version update (1.9.0 -> 1.9.[12]).
- boz666 15y agoInstalling 1.9.2 from source if it is in fact not in the repos is far better then using RVM. Using RVM anywhere is suboptimal, but using it in production is lunacy.
- alrs 15y agoRVM belongs nowhere near production. It exists so that the guys with the macbooks can sync up versions with what is happening in the Linux distro, not the reverse.
- mytrile 15y agoYeah, I've got Mac Mini and laptop running Ubuntu, but I guess it's only for macbooks. Clever
- damoncali 15y agoWhy not?
- alrs 15y agoBecause going back to non-packaged non-vetted flavor-of-the-month code is a retrograde step back to 1993. You lose consistency, you lose the ability to reliably recreate a same environment, you lose tested and low-friction security updates, you lose dependency management, you lose the security of a crypto web-of-trust, and you lose the google-fu of being on the exact same versions of software as thousands of other people. http://qa.debian.org/popcon.php?package=ruby1.8 http://qa.debian.org/popcon.php?package=ruby1.8
- damoncali 15y agoI'll take your word for it. For me, it mostly saves me a bunch of time. 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.
- sanderjd 15y agoThis is kind of a classic "fast, correct - choose one" debate. If saving time is more important, perhaps you should use RVM in production, if correctness is more important, you probably shouldn't. It comes down to how expensive your mistakes are.
- rsanheim 15y agoIn most cases you shouldn't have RVM in "production" any way.
- metaskills 15y agoTo be fair, Wayne has always said that RVM was made for production first and development second. Not sure if it is fair to say it is not production ready since it has always been geared toward just that.
- Cloven 15y agoIt doesn't matter what Wayne has always said. He's designed a collection of fragile shell script hacks that want to be run as root that fundamentally change the behavior of key system commands.
- PatrickTulskie 15y agoYou don't have to run them as root. You can run them as a regular user. I'm pretty sure Wayne recommends against RVM system-wide and the preferred method is just installing it for individual users.
- regularfry 15y agoRoot? I don't think I've ever run RVM as root. Why does it need to? Not saying you're wrong, I just don't know what you're referring to.
- SoreGums 15y agologin as regular user, download some version of ruby, compile for use as logged in user, install rvm, shazzam install any version of ruby you want - all of this only applies to the logged in user and has zero impact on the rest of the system. RVM rules :) 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...
- nzoschke 15y agoRVM is hardly development ready, imho. Every week I run into problems/confusion with the environment it creates and expects. I would never put it anywhere near production.
- igorgue 15y agoWhere can one by some "production ready"? ;-)
- stevenhaddox 15y agoI'm guessing rbenv isn't meant for production. As to some of the comments about how you should never use RVM in production, it's complete crap. I've used RVM in production on multiple servers for well over a year. RVM fits perfectly in corporate environments where you have no access to the sudo command.