错误: 无法在 ARM 处理器上以 Intel 默认前缀(/usr/local)安装 Homebrew

我使用的是最新的 Apple M1芯片处理器,而且在安装应用程序的时候总是出错。

说,

brew install openjdk@11
Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!
Please create a new installation in /opt/homebrew using one of the
"Alternative Installs" from:
https://docs.brew.sh/Installation
You can migrate your previously installed formula list with:
brew bundle dump

需要准确步骤的帮助。

189705 次浏览

通过启用来自 Utilities文件夹的终端应用程序中的 Open using Rosetta选项,进行了临时修复。

然而,如果能知道这个问题的实际解决方案,使用本地化的方法,那就太好了。

enter image description here

值得一提的是,在安装家酿之前,你需要为新的 ARM 硅(M1芯片)安装 Rosetta2仿真器。我刚刚通过终端安装了 Rosetta2,使用:

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

这将安装 rosetta2而不需要单击额外的按钮。

在安装 Rosetta2以上,然后你可以使用家酿 cmd 和安装家酿 ARM M1芯片: arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

一旦安装了用于 M1 ARM 的自制软件包,使用这个自制软件包命令安装软件包: arch -x86_64 brew install <package>

自制程序需要安装在苹果硅片的两个位置:/usr/local 用于 rosetta 仿真(Intel)代码,/opt/Homebrew 用于 ARM64。这些都是硬编码的,而且/opt/home 编写的代码必须用于 ARM 代码,因为它现在的代码是 没得商量。但是,它很容易安装,您可以按照 官方文件上的一般说明进行安装。你先打开一个 Rosetta 外壳。

% arch -x86_64 zsh
% cd /usr/local && mkdir homebrew
% curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

稍后,要在 Intel 下安装工具,您可以使用 arch 命令 per-command 或者像上面那样打开 zsh 终端。

arch -x86_64 /usr/local/homebrew/bin/brew install sometool

对于 ARM 架构,不需要使用 arch,但是需要使用自制命令的完整路径。

/opt/homebrew/bin/brew install sometool

您可以将 brew命令重命名为 brew86和 brewARM 之类的命令,以帮助将它们分开。

这个问题与新的 Macbook pro M1芯片

错误: 无法在 ARM 处理器上以 Intel 默认前缀(/usr/local)安装 Homebrew!

要解决此问题,请按以下步骤操作

第一步

$啤酒包裹倾倒

第二步

$/bin/bash-c“ $(curl-fsSL Https://raw.githubusercontent.com/homebrew/install/head/install.sh

第三步 编辑下面的文件

$vi ~/. bashrc or vi ~/. zhrc

在上面的文件中编辑下面一行

Export PATH =/opt/homebrew/bin: $PATH

使用:

arch -arm64 brew install package-name

用要安装的软件包替换‘ package-name’。

所以我买了一个新的 M1,并迁移到它。我把它拿回来,然后迁移回去。我收到了这个错误。发现我需要运行 sudo rm-Rf/opt/home brew 在重新安装 brew 之后才能让事情再次运行起来。M1上的16G 内存并没有用64G 的英特尔取代我的工作流。

首先运行以下命令:

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

然后它会问你一个问题,点击返回,然后等待安装完成。运行以下命令:

brew bundle dump

在终端上运行这个程序就可以修复这个问题

eval "$(/opt/homebrew/bin/brew shellenv)"

如果您试图在 IntelliJ 终端中运行命令,也可能发生这种情况。只是尝试运行在(常规)终端。

家酿现在可用于新的苹果 M1芯片在 https://docs.brew.sh/Installation。这个脚本安装在一个新的位置,‘/opt/homebrew’而不是‘/usr/local’,这需要在安装后实现几行脚本,替换用户名。您可以从安装中的注释中复制/粘贴。不要跳过这些步骤。

==> Next steps:
- Add Homebrew to your PATH in /Users/[username]/.zprofile:
echo 'eval "$(/opt/homebrew/bin/brew [username])"' >> /Users/[username]/.zprofile
eval "$(/opt/homebrew/bin/brew [username])"

注意: 这适用于在一台新机器上完全安装 Homebrew。如果你已经安装了一个老版本的家酿,并得到它的工作,我相信你需要卸载第一-或者你可能会发现这是一个更快的工作-围绕 http://blog.wafrat.com/homebrew-on-mac-with-m1/。未经测试。

转到 https://brew.sh并使用该命令。它将下载并再次正确安装 brew。

我使用苹果 ARM 芯片(M1)启用 iTerm 安装了 Homebrew,但是当我使用一个不同的基于 Intel 的终端程序(因此在 Rosetta 中打开)时,我得到了这个错误。后一个应用程序被视为英特尔,因此希望使用旧的家酿路径。

这里的回复中有很多有用的信息,但似乎没有对原始请求的直接回答,“ 需要准确步骤的帮助。

为了帮助将来面临这个问题的人们,我将分享我解决这个问题的具体步骤。

下面的 CLI 命令将在装有苹果硅片的 Mac 上运行,它位于运行 macOS 默认 shell Zsh 的内置 Terminal 应用程序中:

  1. 运行 Homebrew 命令以确认出现以下错误:

    $ brew install <formula>
    
    Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!
    Please create a new installation in /opt/homebrew using one of the
    "Alternative Installs" from:
    https://docs.brew.sh/Installation
    

    或者:

    $ brew doctor
    
    Warning: Your Homebrew's prefix is not /opt/homebrew.
    Some of Homebrew's bottles (binary packages) can only be used with the default
    prefix (/opt/homebrew).
    You will encounter build failures with some formulae.
    

    如果出现这些错误中的任何一个,下面的步骤很可能适用于您的情况。

  2. 导航到 /opt文件夹:

    $ cd /opt
    
  3. 创建一个名为 homebrew的文件夹。默认情况下,超级用户权限需要写入 /opt文件夹内,这意味着必须使用 sudo:

    $ sudo mkdir homebrew
    
  4. 授予对 homebrew文件夹的写访问权,以便您的用户可以执行 Homebrew 安装:

    $ sudo chmod go+w homebrew
    
  5. 执行“ 另类安装”页面上列出的四个步骤(步骤1中第一个错误消息中提到的页面) :

    1. 安装自制软件:

      $ curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
      
    2. 在当前终端会话中设置 Homebrew 的前缀:

      $ eval "$(homebrew/bin/brew shellenv)"
      
    3. 更新自制程序:

      $ brew update --force --quiet
      
    4. 撤消对特定文件夹和文件的写访问:

      $ chmod -R go-w "$(brew --prefix)/share/zsh"
      
  6. 在将来的终端会话中,通过向 Zsh 的一个启动文件中添加必要的命令来设置 Homebrew 的前缀。据我所知,.zshrc是这种类型命令的 首选启动文件:

    $ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
    

    注意,如果在运行上述命令之前,您的计算机上有任何其他现有的 Terminal 会话已经打开,那么在这些会话中仍然没有设置正确的 Homebrew 前缀。

  7. 确认 Homebrew 的前缀设置正确:

    $ type -a brew
    
    brew is /opt/homebrew/bin/brew
    brew is /usr/local/bin/brew
    

    或者:

    $ brew doctor
    
    Your system is ready to brew.
    

现在应该可以继续正常使用家酿。

见: https://docs.brew.sh/Installation

1. 克隆自制啤酒

$ cd /opt
$ sudo git clone https://github.com/Homebrew/brew homebrew

2. Chown dir

$ sudo chown -R $(whoami):staff /opt/homebrew

3. 暂时更新新酿 shellenv,更多 shellenv 意思见 man brew

$ eval "$(homebrew/bin/brew shellenv)"

4. 新的啤酒更新

$ brew update --force --quiet
==> Homebrew has enabled anonymous aggregate formula and cask analytics.
Read the analytics documentation (and how to opt-out) here:
https://docs.brew.sh/Analytics
No analytics have been recorded yet (nor will be during this `brew` run).


==> Tapping homebrew/core
Cloning into '/opt/homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Enumerating objects: 1265097, done.
remote: Counting objects: 100% (207/207), done.
remote: Compressing objects: 100% (97/97), done.
remote: Total 1265097 (delta 120), reused 192 (delta 110), pack-reused 1264890
Receiving objects: 100% (1265097/1265097), 517.64 MiB | 3.02 MiB/s, done.
Resolving deltas: 100% (872476/872476), done.
Tapped 3 commands and 6273 formulae (6,616 files, 566.4MB).

5、确保删除他人书写的隐私

$ chmod -R go-w "$(brew --prefix)/share/zsh"

6. 确认新的酿造版本

$ brew --version
Homebrew 3.6.0
Homebrew/homebrew-core (git revision 57f5c02ec6a; last commit 2022-09-10)

7. Brew config show

/opt/homebrew on  stable (93ea8cb2c) 💰 17:17:54
$ brew config
HOMEBREW_VERSION: 3.6.0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 93ea8cb2c40e1ef25f1489b0267526bd47bc8030
Last commit: 3 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 57f5c02ec6af877482ecd8753066d6a277cd3213
Core tap last commit: 72 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_REPOSITORY: /opt/homebrew
HOMEBREW_CELLAR: /opt/homebrew/Cellar
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 10
Homebrew Ruby: 2.6.8 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 10-core 64-bit westmere
Clang: 13.1.6 build 1316
Git: 2.32.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 7.79.1 => /usr/bin/curl
macOS: 12.5.1-x86_64
CLT: 13.4.0.0.1.1651278267
Xcode: 13.4.1
Rosetta 2: true

8. 在 strart bash shell 中添加新的 brewshellenv,如 ~/.zshrc~/.barshrc等。

eval "$(/opt/homebrew/bin/brew shellenv)"

运行此命令,因为这将解决问题

arch -arm64 brew install kotlin