Wat*_*son 100 macos homebrew apple-silicon rosetta-2
我在 M1 MacBook 上。这是我尝试安装 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
Run Code Online (Sandbox Code Playgroud)
那么我如何“在 Rosetta 2 下重新运行 Homebrew 安装程序”?
Wat*_*son 113
从 Homebrew 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)"
Run Code Online (Sandbox Code Playgroud)
使用它来安装软件包:
arch -x86_64 brew install <package>
Run Code Online (Sandbox Code Playgroud)
如果您尚未安装 Rosetta 2 以在 ARM Mac 上模拟 Intel CPU,您将收到错误消息arch: posix_spawnp: /bin/bash: Bad CPU type in executable。使用以下命令提示 Rosetta 2 安装:
softwareupdate --install-rosetta
Run Code Online (Sandbox Code Playgroud)
Ala*_*eng 49
另一种选择是在 Finder 中进入您的应用程序,选择终端并按 cmd(?)+I 并选中“使用 Rosetta 打开”选项。
对不起,如果格式关闭,第一次发布解决方案。
Nig*_*ies 34
我安装了两个 brew 实例,使用 Rosetta2 运行并安装到 /usr/local/bin 的 Intel 版本和本机运行并安装到 /opt/homebrew/bin 的 Arm 版本。现在一切正常,我不必使用 Rosetta 启动 iTerm。
我有这些别名来达到这两个版本。
ibrew='arch -x86_64 /usr/local/bin/brew'
mbrew='arch -arm64e /opt/homebrew/bin/brew'
Run Code Online (Sandbox Code Playgroud)
我首先在我的路径中有本机版本:
path=( /opt/homebrew/bin /opt/homebrew/opt /usr/local/bin /usr/bin /bin /usr/sbin /sbin /Library/Apple/usr/bin )
Run Code Online (Sandbox Code Playgroud)
现在我可以尝试mbrew search和mbrew install。如果它们有效,我很乐意使用本机程序。例如:
mbrew install ag
Run Code Online (Sandbox Code Playgroud)
如果brew失败,我尝试从源代码构建,并带有详细的输出,例如
mbrew install -sv rust
Run Code Online (Sandbox Code Playgroud)
请注意,这需要一段时间并且可能仍会失败。
如果它仍然失败,(并mbrew install -sv go导致我出现分段错误)我有两个选择。使用ibrew search和ibrew install来获取英特尔构建,或检查详细输出并查找问题依赖项。在某些情况下install -s,依赖项足以让本机 brew 工作。
我必须强调,本地 brew 总是打印这个警告
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.
Run Code Online (Sandbox Code Playgroud)
因此,请自行决定继续。
为了完整起见,假设你已经安装了 iTerm2、Rosetta2 和 Xcode 命令行工具,我这样做是为了在 Rosetta 下安装 brew(感谢所有在我之前发布过这个页面的人):
像这样
/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
Run Code Online (Sandbox Code Playgroud)
我这样做是为了安装原生 brew,从 Stack Overflow 和Homebrew 替代安装站点的其他贡献者那里获取,使用 iTerm2 而没有 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
Run Code Online (Sandbox Code Playgroud)
编辑
时间过去了,我在 Fernando García Redondo 观察之后将架构更改为 arm64e。现在关于不支持 Arm 架构的警告已经消失,Rust 和 Go 安装出现问题并且没有从源代码编译。我认为 Homebrew 的好人在圣诞节期间一直在努力工作。谢谢!
2月21日编辑
Homebrew 团队宣布他们支持 Apple 芯片。所以我想知道我是否可以删除我的别名并只使用 brew 来安装 Apple 芯片。最简洁的答案是不!如果您在没有 arch -x86_64 的情况下从 /usr/local 运行 brew,它会抱怨 /usr/local 被保留为 Intel 默认前缀,并且需要使用 /opt/homebrew。因此,我将保留我的两个别名并首先尝试 mbrew,并且仅在本机 brew 失败时才使用 ibrew。
小智 12
安装 Rosetta 后,我添加了一个别名,以便我可以brew install <package>像往常一样使用。
alias brew='arch -x86_64 brew'
我同意其他人的看法,因为您需要arch -x86_64在原始命令前面添加 ,因此认为包含该别名以帮助将来找到此线程的任何人
Kha*_*war 11
运行 Homebrew 的最简单方法是使用 Rosetta 2。
找到你喜欢的终端,右击复制,重命名方便识别。在本示例中,我使用的是 Big Sur 11.2.1 上的默认终端应用程序。
右键单击“终端 Rosetta”并转到“获取信息”以检查“使用 Rosetta 打开”选项。
打开 rosetta 终端并运行以下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Run Code Online (Sandbox Code Playgroud)
运行此命令将要求您输入密码,然后它会为您提供有关将安装的所有内容以及将创建的新目录的信息。
安装 HomeBrew 后,您可以开始使用它将所需的软件包安装到 M1 Mac 中。
运行以下命令以获取 brew 帮助:
brew help
Run Code Online (Sandbox Code Playgroud)
要安装软件包,您可以运行以下命令:
brew install packagename
Run Code Online (Sandbox Code Playgroud)
这就是在 Apple M1 Mac 上安装和开始使用 Homebrew 的全部内容。
小智 8
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh )" 在我的新 M1 Mac 上工作
小智 6
在下面做
现在尝试az登录。你已准备好出发
| 归档时间: |
|
| 查看次数: |
51731 次 |
| 最近记录: |