

RVM vs Packaged Installation of Ruby in Production - brettweaverio
http://www.weaver.io/post/17611662306/rvm-vs-packaged-installation-of-ruby-in-production

======
mpapis
so as RVM maintainer(I know what's inside):

What RVM does: \- RVM by default provides patches that will make your old ruby
compile on your new system. \- RVM does not provide patches for anything else,
so there will be no magically enabling/disabling code. \- in RVM you can
specify ruby patchlevel and you will get exactly that ruby patchlevel \- when
you specify or not patchlevlel for ruby RVM will respect it compiling/using
respectively given patchlevel or latest one.

What your system does(will do at least one of those): \- bump ruby patchlevel
because of security issues, but also possibly can include behavior changes \-
backport fixes from newer patchlevel / version to the installed version \-
will include code changes/patches they fill like are necessary for you - but
are you ?

So the main difference: RVM - will try to keep your ruby-patchlevel compiling
for you, no other changes System - will bump patchlevel or backport fixes to
the build one.

Additionally in your system you can find maybe two - three provided ruby
version, build by system maintainers, no possibility to define patches you
would like to be include, RVM allows you to have as many rubies as you want (I
have right now 37 different combinations of ruby/version/patchlevel/patches
installed)

And last RVM will alllow you to use the same ruby-version-patchlevel-patches
in development and in production, making sure you run the same exact behavior
on across all your systems used for development and hosting.

~~~
brettweaverio
My concern has always been, ruby (or any other complex application) is going
to compile differently on like but different systems.

Over long periods of time I'd be concerned that I could never recreate the
'same' Ruby 1.9.2 installation using RVM.

How can you address the concern of small changes being introduced when
compiling against slightly different versions of development and runtime
libraries?

~~~
mpapis
this might always happen, but considering the amount of opensource software
and it's stability (when it's bug free) it should be considered stable and
reproducible, compared system and RVM - both will be compiled - unless you
save the compiled package and install it, but this can be done for both System
and RVM

