Search Icon, Magnifying Glass

Marmanold.com

Graduation Cap Heart Question Mark Magnifying Glass

Review: Whalebrew

It seems that each and every day there is a cool command line tool to try out to help automate or generally improve some part of my day-to-day. The problem with many of these tools, however, is that they require all sorts of dependencies (Ruby, Python, Node.js) each of which have their own package managers and sub-dependencies. Homebrew solves this for many things, but they are pretty picky about what they allow in, so more often than not, I’m left trying to decide if I risk messing up my machine by installing a web of dependencies or skip giving the tool a try. Not any more.

Whalebrew is an amazing tool that uses Docker to contain various CLI tools so they do not pollute your system. Using Whalebrew I can build a Docker container with all the dependencies for the tool I want to try without the risk of polluting my system.

The documentation for Whalebrew is great and it couldn’t be easier to install. By default it installs executables to /usr/local/bin. They are very small files and are probably fine there, but I want to be extremely cautious. I configured Whalebrew to install executables to a custom directory on an external drive: /Volumes/Glomero/WhaleBrew/bin. The documentation states this is controlled via an environment variable, but doesn’t give an example. Below is the change I made to my .bash_profile file on macOS Sierra to have Whalebrew use this custom directory and to ensure the directory was in my PATH.

.bash_profile File
export WHALEBREW_INSTALL_PATH=/Volumes/Glomero/WhaleBrew/bin
export PATH=$PATH:$WHALEBREW_INSTALL_PATH

tl;dr

I’ve been using Whalebrew for a few days now and couldn’t be happier. Many utilities that I’ve held off trying because they needed to be installed globally with npm, are now available to me without impacting the rest of my environment. I highly recommend Whalebrew to anyone wishing to keep their machine clean and sane.