Jan 8, 2020
Gitpod ❤️ Homebrew
Are you tired of apt-get? Can’t use sudo right now? …
- ✓ Easily install any Linux tool or package with one command
- ✓ Doesn’t require
- ✓ Works in your .gitpod.Dockerfile or directly in Gitpod’s Terminal
If you use a Mac, or have friends who use a Mac, you’ve probably heard of the trusty brew command which allows you to install pretty much any software, from
Homebrew is quite convenient, and its packages are very well maintained: You’ll usually get the latest stable version of any tool (e.g. Git
2.24.1) while other package managers can typically lag several versions behind (e.g. Ubuntu 18.04 only gives you Git
2.17.1 by default).
What you may not necessarily know is that Homebrew now works on Linux too (it was originally announced as “Linuxbrew”, but now it’s just called Homebrew on Linux). This got us pretty excited, because we saw it as an opportunity for developers to easily install any software package in Gitpod, without needing to set up a Dockerfile and then fire up another workspace to test it. With Homebrew you can simply run
brew install z and get going!
brew for all Gitpod workspaces (using workspace-full) and now that we’ve played with it for a while and are happy with the experience, we’re excited to announce it so that you can try it too:
- Just open any repository in Gitpod (e.g. the Spring PetClinic)
- Try running
brew install fzf(this should give you the awesome fzf tool)
Here are a couple details to be aware of:
Packages installed with
brewhave a low priority in the
$PATH. This means that if you
brew installa package that already exists in Gitpod, you’ll just continue using the old package. If you don’t like that, simply
apt-get removethe old package in your .gitpod.Dockerfile.
brewinstalls everything under
/home/linuxbrew/, but Gitpod only backs up your Docker image plus everything inside
/workspace/. This means that if you
brew install fzfin a Gitpod terminal, and then your workspace stops running, when you restart it later the package
fzfwill be gone. If that’s a problem, simply move the
brew install fzfcommand into your .gitpod.Dockerfile to make it permanent.