Setting up Web Development Software on Apple M1 Based Machines

This document discusses important notes on setting up typical web development software on the new M1 chip based Apple computers.

Migration

If you have an Intel based Mac you would like to transfer files and applications from, it would be best not to use the automatic Apple migration software (at least for any package management or virtualization software). Complications can arise since some settings and configurations meant for Intel based chips are being transferred to your new Mac using the M1 chip. 

Rosetta

Apple has created it’s Rosetta software (included and automatically activated when needed) that is meant to allow software designed for Intel chips to run on it’s M1 chip based computers. ‘General’ applications like Chrome and Slack work fine. However, Rosetta is not able to make virtualization software like Virtualbox work on M1 chips. At the moment Virtualbox and any software that depends on it (such as Vagrant) is non functional. In addition, although I haven’t seen it documented anywhere, package management software like Homebrew and NPM produced many confusing errors after I did the automatic transfer from my old Intel based Mac to my new M1 based Mac. They were functional again after I did a factory reset on the computer (essentially undoing the automatic migration) and reinstalled the software manually.

Lando Setup

At Kalamuna we use Lando for local development environment needs. Fortunately it is possible to get Lando working fine on M1 based Apple computers. Lando is dependent on Docker and the newer versions of Docker do have a variation that can run on the M1 chips.  A few additional steps are needed though.

  1. Download Lando https://github.com/lando/lando/releases (note that it mentioned it supports Docker Desktop 3.3.3

  2. I am not sure if this is needed, but I specifically downloaded the slightly older 3.3.3 version of Docker built for the M1 chip: https://docs.docker.com/docker-for-mac/release-notes/#docker-desktop-333 . This is to minimize any compatibility issues, if any

  3. Install Docker Desktop first

  4. Run the installer for Lando. During the installation process it will say that it already detects Docker is installed and if you would like to reinstall Docker with the version included in the Lando download. Do not install the version included with Lando, keep the version you just installed. 

That’s it! Lando should now be functional and working on your M1 based apple computer.

Other Notes

These workarounds are for the current time (August 2021). On Lando’s blog it says it is actively working on a release that supports the M1 chips natively. I imagine it won’t be long since Docker already supports it.