

The most important tool for Ruby/Rails on *nix - dhaivatpandya
http://poincare101.herokuapp.com/post/25

======
wasd
Dhaivat, not to nitpick but perhaps you should add a disclaimer to the bottom
linking to the official installation page so no one bookmarks your page and
tries to use your instructions later if they are out dated.

See

"External tutorials

Note that that any outside tutorials are NOT supported whether they work or
not. Tutorials are great, however we have spent massive amounts of man hours
debugging the installation process. Please use the install process(es) from
this site only, as this is the only supported installation types and methods.
"

on <https://rvm.io/rvm/install/>

~~~
dhaivatpandya
True. Thanks a lot. Will fix it.

------
mtrn
While RVM is great, I use <https://github.com/sstephenson/rbenv> (but I don't
write that much ruby lately. Maybe I haven't reached the edge of rbenv).

~~~
rctay89
+1 for rbenv + bundler.

------
bensummers
Pipe to shell is not "awesome". Pipe to shell is dangerous and it's
irresponsible to encourage it.

It's been discussed to death here before. For example,
<http://news.ycombinator.com/item?id=2430380>

~~~
charliesome
So it's irresponsible to pipe some script off the internet into your shell,
but it's completely fine to download some random gem and just require it
straight away?

~~~
lubutu
I'm pretty certain that's not what the parent was implying.

~~~
charliesome
Both lead to potentially running nasty code, yet people treat them
differently.

~~~
bensummers
Did you read all of the comment I linked to?

------
nwmcsween
Or perhaps gem developers can not use hard dependencies i.e
add_dependency('foobar' '1.2.3') and program based on the exposed interface.
Maybe then versioning can become irrelevant and API breakage can be inferred
(as can be done with c minus dl*, system and such).

~~~
regularfry
How would you suggest getting them to do that, though? We've already got
semver and the '~>' operator for rough version matching which should enable
what you're saying. How do we get the people who aren't using semver to switch
to it, or something equivalent?

~~~
nwmcsween
Follow 'semantic versioning' or even better build a table of what is used and
limit to a non api missmatch thus no version.

~~~
regularfry
Right, but again, _how do we convince people to do this_? The tools are there,
but people aren't using them. I don't disagree that it would be better if they
did, but I don't see a plan for increasing uptake.

------
anuaitt
Great Article. out of frustration i specified for Rails 3 how do u install
from scratch

[http://anurag-maher.blogspot.in/2012/04/install-ruby-on-
rail...](http://anurag-maher.blogspot.in/2012/04/install-ruby-on-
rails-3x-from-scratch.html)

------
SingAlong
Actually there's a shorter way of installing Rails with RVM.

    
    
        curl -L get.rvm.io | bash -s stable --ruby --rails
    

From the RVM readme <https://github.com/wayneeseguin/rvm>

------
olalonde
I'm curious to know why this is on HN's frontpage given that rvm is already
quite widespread within the RoR community.

~~~
riffraff
it has a low score, but it's a moment of very low traffic and there aren't
more upvoted news.

------
dwyer
If apt-get is the wrong way to install Rails, it sounds like a problem with
Rails. Just whose responsibility is it to keep the version in the repos up-to-
date anyway?

~~~
pilif
if you are willing to live with the gems at the versions they were released as
whenever your distro was released and when you are willing to live with the
subset of all gems that is part of your distributions repository, then apt-get
is the perfect tool.

But the moment any of your apps introduce dependencies that cannot be met with
your distribution, you are in trouble: maybe the gem needs a newer version of
ruby?

Maybe the gem depends on a newer version of a gem that came with the system?
Do you manually update that system gem? In that case, you might have just
broken a distribution application depending on that older version (and not
listing the version it needs, so the latest will be used.

As more and more time passes, the old, safe gem set becomes more and more
restricting, increasing the temptation to use gem install instead of apt-get,
but once you went down that path, you will open a whole shipping container of
worms.

Remember, server distros update rarely. Up until last week, the latest Ubuntu
LTS version you could get was from 2010. So much has happened in the ruby
world sinc then that sticking to gems of that time could've really hard.

By using rvm, you decouple the gems and ruby your applications need from what
the system needs, ensuring that te system remains stable, while you still can
use the latest versions of the gems.

