Live data from Hacker News

Rbenv, an unobtrusive rvm replacement

github.com

21–30 of 115 posts

Re: Rbenv, an unobtrusive rvm replacement

#21

Looks interesting. It's always been pretty amazing to me that a system like RVM remains so popular when it depends on overriding the operation of basic commands like 'cd'.

for anyone curious, compare to https://github.com/wayneeseguin/rvm/blob/master/scripts/cd

Re: Rbenv, an unobtrusive rvm replacement

#22
post #7

Earlier quoted context omitted.

I 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.

I 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.

apt-get install ruby1.9. It's in there.

Re: Rbenv, an unobtrusive rvm replacement

#23
post #7

Earlier quoted context omitted.

I 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.

> 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)

Debian allows you to install ruby MRI and jruby simultaneously.

Re: Rbenv, an unobtrusive rvm replacement

#26
post #17

Pretty nice, but I actually do really like having gemsets. It gets me as close to the production environment as possible, plus it makes it really easy to clean up unused gems when I'm done with a project.

For that, I use Bundler and always install gems to vendor/bundle for maximum isolation and easy cleanup.

:~ which bi

bi: aliased to bundle install --path vendor/bundle

Re: Rbenv, an unobtrusive rvm replacement

#27
I'm having trouble imagining who this is for, at least in the context of an RVM replacement. The point of RVM is convenience. It's like RVM, only without most of the convenience (gemsets, installing standard versions and migrating between versions, primarily). If I wanted to manually manage all my Rubies, I wouldn't be using RVM. I like the sentiment of being less of a hack than RVM, but I just don't see much use for this particular set of functions

Re: Rbenv, an unobtrusive rvm replacement

#28
post #15

Earlier quoted context omitted.

Why not?

Because 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 pe…

I'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.

Re: Rbenv, an unobtrusive rvm replacement

#29
post #22

Earlier quoted context omitted.

I 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.

apt-get install ruby1.9. It's in there.

1.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.

Re: Rbenv, an unobtrusive rvm replacement

#30

Looks interesting. It's always been pretty amazing to me that a system like RVM remains so popular when it depends on overriding the operation of basic commands like 'cd'.

Yeah it's a really interesting demonstration of something that is just so darn useful that you're crazy not to use it (on your development machine), regardless of your complaints with it.
Post reply on HN