Python has virtualenv, which generates a simple directory structure and shell configuration implementing an isolated Python environment using a system-provided Python interpreter. Ruby has both rvm and rbenv, but both expect to build and install their own copies of Ruby, barely support a system-provided Ruby, and only support a single system-provided Ruby version.
redenv – simple
virtualenv-like enviroments, for Ruby.
Just drop the
bash script somewhere in your
PATH. Package and
distribute as you see fit. The
redenv script is only necessary when creating
new environments. Enviroments created with it depend only on the referenced
system-provided Ruby installation.
Create a new environment:
$ redenv ./env
Create a new environment with a particular Ruby:
$ redenv -r ruby1.9.1 ./env
Activate the environment for your current shell:
$ . ./env/bin/activate
Then run whatever Ruby commands you want:
$ gem install --no-ri --no-rdoc bundler $ bundle install
Deactivate it when finished:
Fix-up Rubygems binstubs to automatically run in the isolated environment:
Or fix-up to refer to e.g. an ultimate intallation path:
$ ./env/bin/redenv-fixup /opt/company-name/lib/project
Probably only works on Debian. Pull requests supporting other OSes welcome.
Copyright © 2012 Marshall T. Vandegrift, Damballa Inc.
Distributed under the MIT License.