

Ry: the simplest virtual environments for Ruby - jayferd
https://github.com/jayferd/ry

======
dasil003
Some clarification on how this differs from rbenv would be in order.
Personally I'm still using rvm without problems, but I've been intrigued by
the simplicity of rbenv (especially since Bundler makes gemsets obsolete). If
this is significantly simpler, how? And given that it's brand new, what kind
of scenarios has it been developed and tested with?

~~~
jayferd
Good point. A major part of the simplicity is that ry doesn't need to be
loaded into your shell or shim any binaries. You simply add
$PREFIX/lib/ry/current/bin to your $PATH (there's a helper to do this), and
vanilla ruby/rubygems take care of the rest.

Ry also punts on indexing and listing the various implemetations of Ruby out
there - you give it a reference name and a source tarball url, and it runs
./configure PREFIX=...; make install. That allows it to be magic-free with
respect to naming different rubies - just give it a shortcut name that you'll
remember.

~~~
callahad
If I understand this correctly, I can only have a single Ruby active at a
time, even if I have multiple terminals open, right?

~~~
jayferd
By default, yes. But you can also use your $PATH to select a particular ruby
per session. The `fullpath` helper is for that:

    
    
        export PATH="$(ry fullpath mri)"

------
telemachos
This space seems to be crowded lately. There's also the newish rbfu[1], which
also aims to be a lighter tool.

It's not directly relevant to Ry, which doesn't use such files, but there's
now even a proposal to standardize around a .ruby-version file for these env
managers[2].

Also tangential, but Mislav Marohnić probably wins the prize for _simplest_
Ruby version manager[3].

[1] <https://github.com/hmans/rbfu>

[2] <https://gist.github.com/1912050>

[3]
[https://github.com/mislav/dotfiles/blob/93c0cd3/bash_aliases...](https://github.com/mislav/dotfiles/blob/93c0cd3/bash_aliases#L58-69)

