How to run the Homebrew installer under Rosetta 2 on M1 Macbook

I'm on the M1 MacBook. This is the error when I try to install Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"


Homebrew is not (yet) supported on ARM processors!
Rerun the Homebrew installer under Rosetta 2.
If you really know what you are doing and are prepared for a very broken experience you can use another installation option for installing on ARM:
https://docs.brew.sh/Installation


So how do I "Rerun the Homebrew installer under Rosetta 2."?

102795 次浏览

从一个家酿 github https://github.com/Homebrew/brew/issues/9173的开发者那里得到了答案

arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Use this to install packages:

arch -x86_64 brew install <package>

If you have not yet installed Rosetta 2 to emulate Intel CPUs on ARM Macs, you will get the error arch: posix_spawnp: /bin/bash: Bad CPU type in executable. Prompt a Rosetta 2 installation with:

softwareupdate --install-rosetta

另一个选项是在 Finder 中进入应用程序,选择 Terminal,然后按 + I,选中“ Open using Rosetta”选项。

对不起,如果格式关闭,第一次发布解决方案。

Arch-x86 _ 64/bin/bash-c“ $(curl-fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”适用于我的新 M1 Mac

在安装 Rosetta 之后,我添加了一个别名,这样我就可以像平常一样使用 brew install <package>

alias brew='arch -x86_64 brew'

我同意其他每个人的看法,你需要在原来的命令前面添加 arch -x86_64,这样就可以包含这个别名来帮助任何人在将来找到这个线程

请按下面的步骤做

现在试试 Az 登录。你是好去

我安装了两个 brew 实例,Intel 版本使用 Rosetta2运行,安装到/usr/local/bin,Arm 版本本地运行,安装到/opt/homebrew/bin。现在一切都正常了,我不需要使用 Rosetta 来启动 iTerm。

我有这些化名可以联系到这两个版本。

ibrew='arch -x86_64 /usr/local/bin/brew'
mbrew='arch -arm64e /opt/homebrew/bin/brew'

我首先选择的是本地版本:

path=( /opt/homebrew/bin /opt/homebrew/opt /usr/local/bin /usr/bin /bin /usr/sbin /sbin /Library/Apple/usr/bin )

现在我可以尝试 mbrew searchmbrew install。如果他们工作,我很好去与本地程序。例如:

mbrew install ag

If brew fails I try building from source, with verbose output, e.g.

mbrew install -sv rust

请注意,这需要一段时间,并可能仍然失败。

如果仍然失败(而且 mbrew install -sv go的结果对我来说是个内存区段错误) ,我有两个选择。使用 ibrew searchibrew install代替 Intel 构建,或者检查详细的输出并查找问题依赖项。在某些情况下,依赖关系上的 install -s足以使本机酿造工作。

我必须强调,本地酿造总是印刷这种警告

Warning: You are running macOS on a arm64 CPU architecture.
We do not provide support for this (yet).
Reinstall Homebrew under Rosetta 2 until we support it.

所以你可以自行决定。

为了完整起见,假设您已经安装了 iTerm2、 Rosetta2和 Xcode 命令行工具,我这样做是为了在 Rosetta 下安装 brew (感谢所有在我之前在这个页面上发表过文章的人) :

  1. 将已安装的 iTerm2.app 应用程序复制到 iRosetta2.app
  2. 为 iRosetta.app 按命令 + I 到 Get Info,单击 使用 Rosetta2打开
  3. Run iRosetta2 and use this command from https://brew.sh

Like so

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)
alias ibrew='arch -x86_64 /usr/local/bin/brew' # put this in ~/.zshrc

我这样做是为了安装本地酿造,从其他贡献者堆栈溢出和 自制替代安装站点using iTerm2 without Open Using Rosetta2

mkdir ~/homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
sudo mv ~/sudo mv homebrew /opt
mbrew='arch -arm64e /opt/homebrew/bin/brew' # for .zshrc
export PATH="/opt/homebrew/bin:/opt/homebrew/opt:$PATH" # also for .zshrc

剪辑

时间已经过去了,我已经改变了建筑,以武器64e 后费尔南多加西亚雷东多的观察。现在关于 ARM 架构不支持的警告已经过去了,Rust 和 Go 安装时出现了问题,而且没有从源代码进行编译。我猜家酿的好人们在圣诞节期间一直在努力工作。谢谢!

编辑2月21日

家酿团队已经宣布他们支持苹果硅。所以我想知道我是否可以删除我的别名,只是使用 brew 来安装苹果的硅。简短的回答是不!如果从/usr/local 运行 brew 而不使用 arch-x86 _ 64,它会抱怨/usr/local 被保留为 Intel 默认前缀,并且需要使用/opt/homebrew。因此,我将保留我的两个别名,并首先尝试 mbrew,并且只有在本机酿造失败时才使用 ibrew。

您可以更改终端的设置,以使用 Rosetta 启动终端。 Go to your Application/Utilities folder, right click on the Terminal App and check the tick box 'Open using Rosetta'

But to be honest, I have Homebrew installed without Rosetta. Just removed the x86 version yesterday and installed a fresh version without Rosetta.

The easiest way to run Homebrew is with Rosetta 2.

为 Rosetta 复制你最喜欢的终端

找到您最喜欢的终端,右键单击以复制它,并重命名它,以便于识别。在这个例子中,我在 Big Sur 11.2.1上使用默认的 Terminal 应用程序。

duplicate-terminal-right-click-option

duplicate terminal rosetta m1 homebrew

右键单击 终端罗塞塔并转到 去找信息以检查 用罗塞塔打开选项。

enter image description here

2. Install Homebrew

Open the rosetta terminal and run the following command:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

运行此命令将询问您的密码,然后它将向您提供关于它将安装什么以及它将创建哪些新目录的信息。

3. 使用自酿啤酒

一旦安装了 HomeBrew,您就可以开始使用它将所需的软件包安装到 M1 Mac 中。

运行以下命令获取酿造帮助:

brew help

To install a package, you can run the following command:

brew install packagename

这就是关于在苹果 M1 Mac 上安装和开始使用 Homebrew 的全部内容。

编辑: 感谢所有人! 上传来帮助其他开发者! 家酿3.0.0现在正式支持苹果硅(https://brew.sh/2021/02/05/homebrew-3.0.0/)