From 9b4fea602b474100a5fd8ac8a9f059db8bcddd59 Mon Sep 17 00:00:00 2001 From: David Cowden Date: Wed, 13 Jan 2021 21:16:36 -0700 Subject: [PATCH] install: add workaround for rosetta2 path error msg It's possible the user's terminal emulator is running under rosetta2. Consequently, the i86_64 version of the ruby interpreter will be used. Likely, the right thing to do is simply install the arm64 version of the requested package. This can be accomplished using: arch -arm64 brew ... Fixes: #10313 --- Library/Homebrew/install.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/install.rb b/Library/Homebrew/install.rb index 9b4ece01eb..a29b4803cd 100644 --- a/Library/Homebrew/install.rb +++ b/Library/Homebrew/install.rb @@ -32,12 +32,16 @@ module Homebrew def check_prefix if (Hardware::CPU.intel? || Hardware::CPU.in_rosetta2?) && HOMEBREW_PREFIX.to_s == HOMEBREW_MACOS_ARM_DEFAULT_PREFIX - configuration = if Hardware::CPU.in_rosetta2? - "under Rosetta 2" + if Hardware::CPU.in_rosetta2? + configuration = "under Rosetta 2" + odie <<~EOS + Cannot install in Homebrew #{configuration} in ARM default prefix (#{HOMEBREW_PREFIX})! + Try `arch -arm64 brew install ...` + EOS else - "on Intel processor" + configuration = "on Intel processor" + odie "Cannot install in Homebrew #{configuration} in ARM default prefix (#{HOMEBREW_PREFIX})!" end - odie "Cannot install in Homebrew #{configuration} in ARM default prefix (#{HOMEBREW_PREFIX})!" elsif Hardware::CPU.arm? && HOMEBREW_PREFIX.to_s == HOMEBREW_DEFAULT_PREFIX odie <<~EOS Cannot install in Homebrew on ARM processor in Intel default prefix (#{HOMEBREW_PREFIX})!