How to Run Homebrew & x86 Terminal Apps on M1 Macs
If you’re one of the early adopters who acquired an M1 Apple Silicon Mac and find that Homebrew and many other x86 terminal apps don’t yet have support for the new Arm architecture, you’ll be happy to know there’s a fairly simple workaround.
The trick is to run a parallel Terminal application through Rosetta. And yes that means you’ll need to install Rosetta on the Apple Silicon Mac first, if you haven’t done so already.
How to Run x86 Homebrew & Terminal Apps on Apple Silicon Macs
Here’s the workaround until native support arrives:
- Locate the Terminal application within the Utilities folder (Finder > Go menu > Utilities)
- Select Terminal.app and right-click on it, then choose “Duplicate”
- Rename the duplicated Terminal app something obvious and distinct, like ‘Rosetta Terminal’
- Now select the freshly renamed ‘Rosetta Terminal’ app and right-click and choose “Get Info” (or hit Command+i)
- Check the box for “Open using Rosetta”, then close the Get Info window
- Run the “Rosetta Terminal” as usual, which will fully support Homebrew and other x86 command line apps
You’ll want to do this even if you’re installing Homebrew onto the M1 Mac, at least until a native version of Homebrew is available.
Homebrew is a fantastic utility with a variety of great packages for more advanced Mac users and those accustomed to the command line.
Presumably in the not distant future, Homebrew will be updated to support ARM and Apple Silicon natively, but for the time being, use this workaround to get your x86 and Homebrew terminal apps working just fine on your new M1 Apple Silicon Mac, be it a MacBook Pro, MacBook Air, or Mac mini.
This handy workaround was detailed by Notion.so, so thanks to them for the discovery.
Do you know of another approach to get x86 terminal apps running on a new Apple Silicon Mac? Share with us in the comments below!
If I have .sh build script which runs some x86 command line tools and some Apple Silicon arm native tools – how would I switch between rosetta 2 mode and regular mode depending on what I am executing ?
Thanks in advance
Dave
Terminal should figure it out on it’s own without any involvement
FWIW it may be ported to ARM native with Homebrew, update the packages there
Thank you @Guin. That worked for me. Although I did not need to install Rosetta. When I tried I actually got an error saying “Installing Rosetta 2 on this system is not supported”.
Thanks for the tip! I actually had to do this just to get terminal to work properly. I found that attempting to do tab completion on the command line or certain keystrokes when using vi would cause all my terminals to lock up.
You can also first install Rosetta
Then install homebrew with arch
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Then to install packages use arch again like so
arch -x86_64 brew install packagename