Ruby equivalent of virtualenv?
RVM works closer to how virtualenv works since it lets you sandbox different ruby versions and their gems, etc.
No one seems to have mentioned rbenv.
Neither sandbox, RVM, nor rbenv manage the versions of your app's gem dependencies. The tool for that is bundler.
- use a Gemfile as your application's dependency declaration
- use
bundle install
to install explicit versions of these dependencies into an isolated location - use
bundle exec
to run your application
I'll mention the way I do this with Bundler (which I use with RVM - RVM to manage the rubies and a default set of global gems, Bundler to handle project specific gems)
bundler install --binstubs --path vendor
Running this command in the root of a project will install the gems listed from your Gemfile, put the libs in ./vendor
, and any executables in ./bin
and all require
s (if you use bundle console
or the Bundler requires) will reference these exes and libs.