As a developer, I have experienced major issues with installing languages, libraries and development tools from the command-line as Apple M1 has migrated over to using arm64 instead of x86_64 architecture.

In order to bridge the gap before all libraries and tools change over to arm64, and to avoid library incompatibilities between architectures, in many cases it may be easier for developers to just emulate x86_64 to perform their library installs.

  • 2
    Note that Mojave was the last version to support i386 - The intel arcitecture now supported is is x86_64
    – mmmmmm
    Oct 12 at 20:20
  • 1
    It might also be easier for Apple Silicon to use Macports which has supported that since it was released. Which languages and libraries are not ARM?
    – mmmmmm
    Oct 12 at 20:21
  • yeah i386 is strange, more here for arch stackoverflow.com/a/12763379/740575, updated to be more clear it was for x86_64
    – sonjz
    Oct 13 at 2:12
  • hmm we had several m1s setup over the past quarter, found this was best solution as we use brew. dual brew and pyenv abandonment is where i stopped to take another look
    – sonjz
    Oct 13 at 2:27
  • What does " dual brew and pyenv abandonment" mean?
    – mmmmmm
    Oct 13 at 9:55

After installing Rosetta:

softwareupdate --install-rosetta --agree-to-license

It seems to be a good idea to run your entire Terminal in Rosetta:

  • Go to Finder > Applications and find your Terminal (this can also be other terminal app, like iTerm in my case)
  • Right-Click the App and Duplicate it and rename it "Terminal i386"
  • Right-Click "Terminal i386" > Get Info > Enable Open using Rosetta
  • Click to Open the Terminal, type arch to verify it says i386 now.
  • Right-Click the Terminal i386 in your Dock and click "Keep in Dock" for future use.

It is important to install/update/deploy within the "Terminal i386" window now, your normal Terminal will be arm64 and won't have the same libraries. Consider full emulation as the easiest solution without a lot of workaround with flags and running multiple brew in parallel. It just works.

Source: https://betterprogramming.pub/5-things-i-have-learned-when-using-the-m1-chip-macbook-air-a77f93c50381#5a64

Not the answer you're looking for? Browse other questions tagged .