Gitpod ❤️ Homebrew

Jan 8, 2020

Gitpod ❤️ Homebrew

Avatar of jankeromnes Jan Keromnes

Are you tired of apt-get? Can’t use sudo right now? …

You can now ’brew install anything’ in Gitpod! 🎉

  • ✓ Easily install any Linux tool or package with one command
  • ✓ Doesn’t require sudo permission
  • ✓ 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 git to clang to htop.

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!

We’ve pre-installed 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:

  1. Just open any repository in Gitpod (e.g. the Spring PetClinic)
  2. Try running brew install fzf (this should give you the awesome fzf tool)

Homebrew in Gitpod screenshot

Here are a couple details to be aware of:

  • Packages installed with brew have a low priority in the $PATH. This means that if you brew install a package that already exists in Gitpod, you’ll just continue using the old package. If you don’t like that, simply apt-get remove the old package in your .gitpod.Dockerfile.

  • brew installs everything under /home/linuxbrew/, but Gitpod only backs up your Docker image plus everything inside /workspace/. This means that if you brew install fzf in a Gitpod terminal, and then your workspace stops running, when you restart it later the package fzf will be gone. If that’s a problem, simply move the brew install fzf command into your .gitpod.Dockerfile to make it permanent.

We hope this feature makes you as happy as it made us! Please share any feedback, thoughts or bugs you found.

More articles

Blog post: DevX Conf wrap & distributing $10k of open-source funding

DevX Conf wrap & distributing $10k of open-source funding

As part of Gitpod’s Open-Source Sustainability Fund initiative attendees of DevX Conf were able to decide where $10,000 USD of funds (the profits from DevX Conf plus an additional donation by Gitpod) were to be distributed. Here's the breakdown how the fund was split and our retrospective on running our first-ever conference.

Avatar of christinfrohne Avatar of ghuntley Jun 3, 2021

Blog post: Journey to Site Reliability Engineering at Gitpod

Journey to Site Reliability Engineering at Gitpod

The SRE team at Gitpod is making the first moves to implement Site Reliability Engineering best practices. We document our approach to implement our very first Service Level Objective.

Avatar of arthursens May 23, 2021

Blog post: From Gatsby to Svelte in 3 weeks

From Gatsby to Svelte in 3 weeks

A very tight deadline, a small team and a complete redesign - insights into why we use Svelte.

Avatar of mikenikles May 8, 2021