Поделиться:

Хорошая новость — всё чинится парой команд в терминале. Сейчас разберёмся.

Исправляем ошибку «arm64 architecture required» в brew на Mac с Apple Silicon

Откройте Терминал на своём Mac и сделайте следующее.

Сначала переключитесь на ARM64-версию Homebrew вот этой командой:
eval "$(/opt/homebrew/bin/brew shellenv)"

Эта команда просто настраивает ваше окружение так, чтобы система видела Homebrew по пути для Apple Silicon (/opt/homebrew/bin/brew), а не по старому пути для x86 (/usr/local/bin/brew).

Теперь, используя ARM64-версию brew, установите тот самый пакет, который раньше не ставился. Команда будет выглядеть так:

arch -arm64 brew install asitop

В моём примере я ставлю asitop — утилиту, которой для работы с powermetrics нужна именно архитектура Apple Silicon. Приставка `arch -arm64` явно указывает системе запускать команду в ARM64-режиме, а не через Rosetta 2 в x86.

После выполнения этих команд asitop (или ваш проблемный пакет) должен установиться и запуститься как положено:

Приставку `arch` использовать не всегда обязательно, но здесь она помогает точно убедиться, что всё работает в нужном режиме.

Нужно ли удалять и переустанавливать Homebrew для ARM64?

Нет, в большинстве случаев не нужно. Достаточно просто переключить версию в PATH с помощью команды выше.

Версия Homebrew для Intel (x86) живёт отдельно, по адресу /usr/local/bin/brew.

Если вдруг понадобится, между версиями можно переключаться туда-сюда вот этими командами:

Для ARM64-версии:
eval "$(/opt/homebrew/bin/brew shellenv)"

Для x86-версии:
eval "$(/usr/local/bin/brew shellenv)"

Обычному пользователю это вряд ли пригодится, но иногда нужно — например, при работе с Game Porting Toolkit, Wineskin или какими-то специфичными пакетами.

Сталкивались с такой ошибкой? Помог ли описанный способ? Делитесь опытом в комментариях.