I read \"Relationships between Rubygems, Bundler, and RVM\" before asking it again.
Well, there are many questions like this, but people who answered say they work
To find the path where a gem is installed use:
gem which gem_name
To find executables (like html2haml) use:
which executable_name
To avoid typing bundle exec html2haml
which is recommended by the Bundler team, use my rubygems-bundler gem.
Use gem env
to list the gem paths in each context.
Without RVM gem env
will report the system gem library paths.
With RVM gem env
will report the RVM-managed gem library paths.
Bundler manages application dependencies and installs into the gem library in your environment. If you are using RVM + Bundler, the gems will be installed in the RVM managed gem directories. If you are using it without RVM, bundler will install gems in the system gem directories.
I'm also trying to understand how it works. The blog "Advice on using Ruby, RVM, Passenger, Rails, Bundler, … in development" helped me have a better overview.
BTW, it's a translation of a French article, the French version is better.
echo $GEM_HOME
in a terminal.echo $GEM_HOME
now would show a path into your RVM install.$GEM_HOME
, or, if you specify a path when running bundle install
will be installed to that path. To find out where a gem is through Bundler you can use bundle show gemname
to get its full path.