The Grouparoo Blog


Developing Grouparoo on macOS Big Sur

Tagged in Notes Engineering 
By Evan Tahler on 2020-11-13

macOS Big Sur Screenshot

The newest release of macOS is out! Like any new OS release, there are plenty of new features... and new bugs to squash. The Grouparoo team uses develops on macOS, and we've taken notes about what we needed to do to continue being productive though the upgrade.

Update Homebrew and Databases

Like most macOS developers, we install our dependencies and database with Homebrew, a great package manager for macOS. The first thing I checked after the upgrade was if my Homebrew services were running. Well... they were not.

macOS Big Sur Screenshot

The good news is that newer versions of Homebrew work with macOS Big Sur - but you need to brew upgrade.

brew upgrade

Pay attention - you'll likely be asked for your password. This command will update Homebrew itself and all of your installed packages to the latest version. This step is important, because many packages will need to be re-compiled with the newer version of XCode you now have.

Upgrading all of your packages is a big step. While not related to Big Sur, when I ran brew upgrade, I bumped my Postgres version from 11 to 13. When you upgrade your Postgres version, you need to migrate your databases so they work with new version. You can accomplish this via:

brew services stop postgres
brew postgresql-upgrade-database
brew services restart postgres

Finally, the brew upgrade command will have fixed any file permissions that changed during the upgrade. Restart any other running Homebrew services you have running. In my case, I needed to restart Redis, as it couldn't write to the file system until after the upgrade.

brew services restart redis

Rebuild Node.js packages

Node.js continued to function just fine after the macOS upgrade, but since XCode and various underlying libraries have been changed, I needed to re-compile any node_modules which had a compilation step. The easiest way to do this is just to re-install everything:

rm -r node_modules
npm install

At Grouparoo, we use pnpm to manage dependencies in our monorepo. In our case, there's a single command to rebuild our dependencies:

pnpm install --force

And that's all it took to get back to work on macOS Big Sur!




Get Started with Grouparoo

Start syncing your data with Grouparoo Cloud

Start Free Trial

Or download and try our open source Community edition.