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.
The good news is that newer versions of Homebrew work with macOS Big Sur – but you need to
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
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!
Evan is the CTO and co-founder of Grouparoo, a new company building tools that empower marketers to do their best work. Evan is an open-source innovator, and frequent speaker at software development conferences focusing on Product Management, Node.JS, Rails, and databases.
Learn more about
Evan @ https://www.evantahler.com