Live data from Hacker News

Rbenv, an unobtrusive rvm replacement

github.com

11–20 of 115 posts

Re: Rbenv, an unobtrusive rvm replacement

#11
post #7
post #3

Is it production ready? RVM is.

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)

Re: Rbenv, an unobtrusive rvm replacement

#13
post #7
post #3

Is it production ready? RVM is.

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.

Re: Rbenv, an unobtrusive rvm replacement

#14
post #8
post #3

Is it production ready? RVM is.

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

I know very few people using the distro version of Ruby in production. Most are using either rvm (not so desirable) or a custom-compiled version (more desirable).

In my experience, the version of Ruby shipping in most Linux distros and package systems is outdated or less than ideal for production use.

Re: Rbenv, an unobtrusive rvm replacement

#15
post #8

Earlier quoted context omitted.

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

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

http://qa.debian.org/popcon.php?package=ruby1.8

Re: Rbenv, an unobtrusive rvm replacement

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

Re: Rbenv, an unobtrusive rvm replacement

#19
post #8

Earlier quoted context omitted.

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

I know very few people using the distro version of Ruby in production. Most are using either rvm (not so desirable) or a custom-compiled version (more desirable). In my experience, the version of Ruby shipping in most Linux distros and package systems is outdated or less than ideal for production use.

Apt-pinning and source packages are great ways to bring newer Ruby in to Debian stab

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.

Re: Rbenv, an unobtrusive rvm replacement

#20
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.

You can use Bundler to isolate your gems locally, or you can use rbenv-gemset:

https://github.com/jamis/rbenv-gemset

Post reply on HN