2020年购买了MacBook M1后,发现大部分命令行工具无法安装。我猜测这是因为这些工具是编译运行在基于英特尔芯片的系统上,而不是新的苹果芯片(需要引用资料)。
以下是一个例子:
APP is not (yet) supported on ARM processors!
Rerun the APP installer under Rosetta 2.
如何在 Rosetta 2 下安装应用程序?
2020年购买了MacBook M1后,发现大部分命令行工具无法安装。我猜测这是因为这些工具是编译运行在基于英特尔芯片的系统上,而不是新的苹果芯片(需要引用资料)。
以下是一个例子:
APP is not (yet) supported on ARM processors!
Rerun the APP installer under Rosetta 2.
如何在 Rosetta 2 下安装应用程序?
我在这里找到了解决方案,它非常有效。
在终端中使用
arch -x86_64 zsh
来在 Rosetta 2 下启动一个 shell
补充说明:我创建了一个 rosetta
别名,以便将来可以切换:
echo 'alias rosetta="arch -x86_64 zsh"' >> ~/.zshrc
softwareupdate --install-rosetta --agree-to-license
我对此感到很好奇,以下是我的发现:
问题在哪里?
苹果于2020年11月发布了首批搭载Apple Silicon芯片的Mac。 虽然大多数应用程序已经更新以在Apple Silicon上本地运行, 但仍有一些应用程序尚未更新。这就是Rosetta 2介入的地方。
Rosetta 2是一个翻译层,用于在Apple Silicon Mac上运行基于Intel的应用程序。 它使用动态二进制翻译将x86_64代码转换为M1和M2芯片所使用的Arm64架构。 它允许这些新的Mac运行那些还没有更新以在Apple Silicon上本地运行的应用程序。
来源: howtogeek.com
arch -x86_64 zsh
是什么意思?或者是干什么用的?
arch
是一个命令,用于显示系统的机器架构。当与 -x86_64
一起使用时,它指定以下命令应该被执行,就好像机器架构是 x86_64
,这通常指的是 64位 的英特尔或 AMD 处理器 架构。