Gem Home for Fish Shell
In a recent twitch stream, Gary Bernhardt showed a bit of behind-the-scenes in how he prepares his development environment for recording a screencast.
One of the tools he showed in passing was
gem_home
by
Hal Brodigan.
gem_home
is a simple script that manipulates
Ruby’s GEM_HOME
and GEM_PATH
environmental
variables in order to keep separate ruby gem locations.
By using gem_home
, there is no longer a requirement to prefix all ruby
commands with bundle exec
. All the gems for a project are local to the
project, which eliminates conflicts that might arise when gems for multiple
projects are mixed together in one location.
Eliminating the need for bundle exec
allows commands such as rspec
to
execute much quicker!
Unfortunately for me, I recently switched over to using
fish shell from ZSH. Hal’s gem_home
only supports
Bash and ZSH. 🙁
One nice thing about gem_home
is how simple and straightforward it is. In a
few hours I was able to replicate its functionality as a fish shell compatible
script!
If you’re using ruby and fish shell, I would highly recommend using my
implementation of gem_home
along with
Jean Mertz’s
wrapper around chruby. Both of
these play well together.