Troubleshoot CLI installation on M1 Macs

Sometimes you may run into issues with Homebrew on Macs. This article may help with some of them.

Wrong installation location

If you have a Mac with an M1 chip and you imported Homebrew formulae from a pre-M1 Mac,
your installation may be in the wrong place. This may result in errors such as not loading the proper libraries for the CLI or not being able to install in the ARM default prefix.

Check relevance

To determine if you have this problem, follow these steps:

  1. Determine your Mac’s architecture by running arch.
  2. If the response is arm64, you have an M1 chip and this section is relevant to you.
  3. Find where your Mac is looking for Homebrew by running which brew.
  4. If the response is /usr/local/bin/brew, your Mac’s Homebrew is misconfigured.

Fix the problem

To fix the problem, follow these steps:

  1. Create a list of your installed formulae by running the following command: brew list --formulae >~/Downloads/formulae.txt.
  2. Unlink all of the formulae by running brew unlink $(brew list --formulae).
  3. Remove your current Homebrew by running sudo rm -r /usr/local/Homebrew.
  4. Reinstall Homebrew by running /bin/bash -c "$(curl -fsSL".
  5. Use Homebrew to reinstall all of your formulae: brew install $(cat ~/Downloads/formulae.txt)

Homebrew might not find some of your formulae. For example, your formulae.txt file may have an entry for platformsh-cli. Change that platformsh/tap/platformsh-cli, save the file, and repeat step 5. Repeat as necessary for all formulae that Homebrew can’t find. your installation may be in the wrong place.

Multiple instances of platform in your path

After installing or updating the CLI via Homebrew, make sure you have the right platform in your path by running the following command:

hash -r && ls -l $(which platform)

You should see a path that involves Homebrew:

  • /opt/homebrew/bin/platform on an Apple Silicon Mac (M1/M2)
  • /usr/local/bin/platform on an Intel Mac
  • /home/linuxbrew/.linuxbrew/bin/platform on Linux.

If you don’t see that, delete the target that you see by running sudo rm $(which platform) && hash -r. Then run which platform and you should see the correct platform tool.