Хорошая новость — всё чинится парой команд в терминале. Сейчас разберёмся.
Исправляем ошибку «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 или какими-то специфичными пакетами.
–
Сталкивались с такой ошибкой? Помог ли описанный способ? Делитесь опытом в комментариях.