See: https://docs.brew.sh/Installation
1. Clone homebrew
$ cd /opt
$ sudo git clone https://github.com/Homebrew/brew homebrew
2. Chown dir
$ sudo chown -R $(whoami):staff /opt/homebrew
3. Update new brew shellenv temporarily, more shellenv meaning see man brew
$ eval "$(homebrew/bin/brew shellenv)"
4. New brew update
$ 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. Make sure remove other person write privage
$ chmod -R go-w "$(brew --prefix)/share/zsh"
6. Confirm new brew version
$ 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. Add new brew shellenv to strart bash shell, eg. ~/.zshrc
、~/.barshrc
etc.
eval "$(/opt/homebrew/bin/brew shellenv)"
Bug report
- ran
brew update
and can still reproduce the problem? - ran
brew doctor
, fixed all issues and can still reproduce the problem? - ran
brew config
andbrew doctor
and included their output with your issue?
What you were trying to do (and why)
Since a long time, I happily use homebrew on a non-default path — /opt/homebrew
. Since the last update of homebrew, trying to upgrade or install packages, e.g. with
results in the following error:
Error: Cannot install in Homebrew on Intel processor in ARM default prefix (/opt/homebrew)!
and no installation takes place, unfortunately.
I understand you are working on ways to support the new ARM chips with Homebrew; I assume changes related to that cause this error message. I further assume that reinstalling in a different place will avoid this error — is this correct? I would still like to avoid a complete reinstall — is there a way to disable this check, e.g. with a command-line argument to brew?
To be honest, I would also suggest that installation directories for different hardware architectures carry the hardware in their path, e.g. like in
/opt/homebrew/x86_64
/opt/homebrew/arm
which would allow installing homebrew instances for different hardware architectures side-by-side. By the way, would brew accept a prefix like the proposed, or still throw an error?
Thank you.
Christian.
Output of brew config
and brew doctor
commands
KASSANDRA /Users/marq>brew config HOMEBREW_VERSION: 2.5.10-10-g78f1761 ORIGIN: https://github.com/Homebrew/brew HEAD: 78f17618028232e924980661a70ac08b4b78d609 Last commit: 3 hours ago Core tap ORIGIN: https://github.com/Homebrew/homebrew-core Core tap HEAD: 542ff01c92e32b04301c2c5aa1ca335b8c438da0 Core tap last commit: 3 hours ago Core tap branch: master HOMEBREW_PREFIX: /opt/homebrew HOMEBREW_REPOSITORY: /opt/homebrew/Homebrew HOMEBREW_CELLAR: /opt/homebrew/Cellar HOMEBREW_CASK_OPTS: [] HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.MtDSttSw36/org.macosforge.xquartz:0 HOMEBREW_GITHUB_API_TOKEN: set HOMEBREW_MAKE_JOBS: 8 Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby CPU: octa-core 64-bit haswell Clang: 12.0 build 1200 Git: 2.29.2 => /opt/homebrew/bin/git Curl: 7.64.1 => /usr/bin/curl Java: 1.8.0_131, 1.8.0_25 macOS: 10.15.7-x86_64 CLT: 12.0.32.27 Xcode: 12.2 XQuartz: 2.7.11 => /opt/X11 KASSANDRA /Users/marq>brew doctor Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry or file an issue; just ignore this. Thanks! Warning: You have installed Bitdefender. The "Traffic Scan" option interferes with Homebrew's ability to download packages. See: https://github.com/Homebrew/brew/issues/5558 Warning: "config" scripts exist outside your system or Homebrew directories. `./configure` scripts often look for *-config scripts to determine if software packages are installed, and which additional flags to use when compiling and linking. Having additional scripts in your path can confuse software installed via Homebrew if the config script overrides a system or Homebrew-provided script of the same name. We found the following "config" scripts: /usr/local/bin/upgrade-borgmatic-config /usr/local/bin/generate-borgmatic-config Warning: You have unlinked kegs in your Cellar. Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run `brew link` on these: numpy numpy4python@2 Warning: Your Homebrew's prefix is not /usr/local. Some of Homebrew's bottles (binary packages) can only be used with the default prefix (/usr/local). You will encounter build failures with some formulae. Please create pull requests instead of asking for help on Homebrew's GitHub, Discourse, Twitter or any other official channels. You are responsible for resolving any issues you experience while you are running this unsupported configuration.
I use the latest
Apple M1
chip processor. And I keep getting errors while application installation.say.,
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
Need help with exact steps to follow.
Answer
For what it’s worth, before installing Homebrew you will need to install Rosetta2 emulator for the new ARM silicon (M1 chip). I just installed Rosetta2 via terminal using:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
This will install rosetta2 with no extra button clicks.
After installing Rosetta2 above you can then use the Homebrew cmd and install Homebrew for ARM M1 chip: arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Once Homebrew for M1 ARM is installed use this Homebrew command to install packages: arch -x86_64 brew install <package>
Attribution
Source : Link , Question Author : Prashanth Sams , Answer Author : emonz
#macos #arm #homebrew #macos-big-sur #apple-silicon
#macos #arm #homebrew #macos-big-sur #apple-silicon
Вопрос:
Я использую новейший Apple M1
процессор chip. И я продолжаю получать ошибки при установке приложения.
скажем.,
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
Нужна помощь с точными шагами для выполнения.
Комментарии:
1. все то же самое для OpenJDK 17
Ответ №1:
Как бы то ни было, перед установкой Homebrew вам необходимо установить эмулятор Rosetta2 для нового ARM silicon (микросхема M1). Я только что установил Rosetta2 через терминал, используя:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
Это установит rosetta2 без дополнительных нажатий кнопок.
После установки Rosetta2 выше вы можете использовать Homebrew cmd и установить Homebrew для чипа ARM M1: arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
После установки Homebrew для M1 ARM используйте эту команду Homebrew для установки пакетов: arch -x86_64 brew install <package>
Комментарии:
1. После этой команды:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
я получаюInstalling Rosetta 2 on this system is not supported.
2. Я также сталкиваюсь с той же проблемой, есть ли какой-либо другой обходной путь для этого
Installing Rosetta 2 on this system is not supported.
3. Снимите флажок запускать с помощью rosetta в терминале, и это может быть установка Rosetta 2. Это работает для меня
4. Добавьте псевдоним
alias brew86="arch -x86_64 /usr/local/homebrew/bin/brew"
к вашему.zshrc
для удобства в будущем5. У меня была ошибка
Installing Rosetta 2 on this system is not supported.
, и я решил ее, выполнив следующее: 1. Ранее я настроил свой терминал на «запуск с Rosetta», поэтому я решил дублировать его и переименовать новое приложение в «Rosetta-Terminal» (необязательно, но хорошо, если вам нужна rosetta для других целей) 2. Снимите флажок «запустить с помощью rosetta» в «получить информацию» «Терминала». 3. Закройте и снова откройте терминал … запустил команду, и она сработала
Ответ №2:
Homebrew необходимо установить в двух местах на Apple silicon: в /usr/local для эмулируемого rosetta (Intel) кода и /opt/ homebrew для ARM64. Они несколько жестко запрограммированы, и /opt/ homebrew ДОЛЖЕН использоваться для кода ARM в его нынешнем виде и не подлежит обсуждению. Однако установить его достаточно просто, и вы можете следовать общим инструкциям в официальных документах. Сначала вы открываете оболочку Rosetta.
% arch -x86_64 zsh
% cd /usr/local amp;amp; mkdir homebrew
% curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
Позже, чтобы установить инструменты под управлением intel, вы можете использовать команду arch для каждой команды или открыть терминал zsh, как указано выше.
arch -x86_64 /usr/local/homebrew/bin/brew install sometool
Для архитектуры ARM вам не нужно использовать arch
, но вам нужно использовать полный путь команды homebrew.
/opt/homebrew/bin/brew install sometool
Вы можете переименовать команды brew во что-то вроде brew86 и brewARM, чтобы они были разделены.
Комментарии:
1. «Вы могли бы переименовать команды brew во что-то вроде brew86 и brewARM, чтобы помочь разделить их» — Как именно это сделать?
2. @indojin Вы можете использовать псевдоним ZSH. Добавив
alias brew86="arch -x86_64 /usr/local/homebrew/bin/brew"
иalias brewARM="/opt/homebrew/bin/brew"
в свой~/.zshrc
файл3. Я также использовал псевдоним. Интересно, почему это не является стандартным для установки homebrew … 😉
4. Как вы узнаете, хотите ли вы установить что-то на 86 или ARM?
5. Спасибо. Утвержденный ответ по какой-то причине не сработал для меня. Но после того, как я выполнил команды, включая CURL. Мне удалось установить этот пакет.
Ответ №3:
Просто используйте:
arch -arm64 brew install package-name
замените ‘package-name’ на пакет, который вы хотите установить.
Комментарии:
1. Это был простой ответ для моего 2021 M1 Max, работающего на Monterey 12.1. Если вы новичок в nginx, прочитайте результат установки. Вам действительно нужно запустить службу, и по умолчанию она прослушивает порт 8080 версии 1.21.6_1 nginx.
2. у меня не получилось обновить узел
3. у меня это сработало с M1 mac.
Ответ №4:
Сделал временное исправление, включив Open using Rosetta
опцию в приложении терминала из Utilities
папки.
Тем не менее, было бы здорово узнать фактическое решение этого вопроса, чтобы использовать собственный способ.
Комментарии:
1. Это работает и не требует установки brew дважды.
Ответ №5:
Запустите это в терминале, это устранит проблему
eval "$(/opt/homebrew/bin/brew shellenv)"
Комментарии:
1. После запуска этого я смог работать
brew install php
без проблем
Ответ №6:
Эта проблема с новым чипом macbook pro M1
Ошибка: не удается установить в Homebrew на процессоре ARM с префиксом Intel по умолчанию (/ usr / local)!
Для устранения выполните следующие действия
Шаг 1
дамп пакета $ brew
Шаг 2
$ /bin/ bash -c «$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh )»
Шаг 3 Отредактируйте файл ниже
$ vi ~/.bashrc или vi ~/.zshrc
Отредактируйте нижнюю строку в приведенном выше файле
путь экспорта=/opt/homebrew/bin:$PATH
Комментарии:
1. Проблема с этим заключается в том, что в конечном итоге вам в конечном итоге придется использовать обе версии homebrew. Ответ должен, по крайней мере, указывать на последствия этого изменения … 😉
2. мой ответ основан на чипах M1 и моем опыте
3. Поддерживаю примечание Мартина выше. Независимо от вашего опыта, было бы хорошо, чтобы люди знали об этом.
Ответ №7:
Homebrew теперь доступен для нового чипа Apple 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 на новой машине. Если вы уже установили старую версию Homebrew и заставили ее работать, я считаю, что вам нужно сначала удалить ее, или вы можете найти это более быстрое решение http://blog.wafrat.com/homebrew-on-mac-with-m1 /. Не проверено.
Ответ №8:
Это также может произойти, если вы пытаетесь запустить свою команду в IntelliJ Terminal. Просто попробуйте запустить (обычный) Терминал.
Комментарии:
1. Это случилось со мной, когда я пытался установить homebrew с терминала VSCode. Просто используйте обычный терминал.
Ответ №9:
В ответах здесь много полезной информации, но, похоже, нет прямого ответа на первоначальный запрос: «Нужна помощь с точными шагами для выполнения».
На случай, если это может помочь людям, столкнувшимся с этой проблемой в будущем, я поделюсь точными шагами, которые я предпринял для решения этой проблемы.
Следующие команды CLI предназначены для запуска на Mac, оснащенном Apple silicon, во встроенном терминальном приложении, использующем оболочку macOS по умолчанию, Zsh:
- Запустите команду 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.
Если появляется какая-либо из этих ошибок, вполне вероятно, что приведенные ниже шаги применимы к вашему случаю.
- Перейдите к
/opt
папке:$ cd /opt
- Создайте папку с именем
homebrew
. По умолчанию для записи внутри папки требуются права суперпользователя/opt
, что означает, что необходимо использоватьsudo
:$ sudo mkdir homebrew
- Предоставьте доступ на запись к
homebrew
папке, чтобы ваш пользователь мог выполнить установку Homebrew:$ sudo chmod go w homebrew
- Выполните четыре шага, перечисленные на странице «Альтернативные установки» (страница, упомянутая в первом сообщении об ошибке на шаге 1).:
- Установите Homebrew:
$ curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
- Установите префикс Homebrew в вашем текущем сеансе терминала:
$ eval "$(homebrew/bin/brew shellenv)"
- Обновить Homebrew:
$ brew update --force --quiet
- Отменить доступ на запись к определенным папкам и файлам:
$ chmod -R go-w "$(brew --prefix)/share/zsh"
- Установите Homebrew:
- Установите префикс Homebrew в будущих сеансах терминала, добавив необходимую команду в один из файлов запуска Zsh. Насколько я могу судить,
.zshrc
это предпочтительный загрузочный файл для этого типа команд:$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
Обратите внимание, что если на вашем компьютере есть какие-либо другие существующие сеансы терминала, которые были открыты до запуска приведенной выше команды, правильный префикс Homebrew в этих сеансах все равно не будет установлен.
- Убедитесь, что префикс Homebrew теперь установлен правильно:
$ type -a brew
brew is /opt/homebrew/bin/brew brew is /usr/local/bin/brew
Или:
$ brew doctor
Your system is ready to brew.
Теперь должно быть возможно продолжить использование Homebrew в обычном режиме.
Ответ №10:
Сначала выполните эту команду:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
затем он задаст вам вопрос, нажмите return, затем дождитесь завершения установки. После этого выполните эту команду:
brew bundle dump
Комментарии:
1. Это работает, но в нем отсутствуют некоторые шаги. После выполнения первой команды убедитесь, что вы выполнили две команды, которые brew запрашивает у вас. И после запуска
brew bundle dump
переместите BrewFile , созданныйbrew bundle dump
intoopt/homebrew
. Из этого каталога запуститеbrew bundle install
.brew bundle dump
пакеты не устанавливаются, он просто создает BrewFile, который сообщает brew, какие пакеты он должен установить при запускеbrew bundle install
. Как файл package.json в node.js .2. Дополнительное примечание к комментарию Дэшиелла: убедитесь, что вы работаете
brew bundle dump
с/usr/local/Homebrew/bin/brew
или в противном случае вы будете запускать недавно установленныеbrew
, которые не будут иметь доступа к старым пакетам.
Ответ №11:
Перейдите к https://brew.sh и используйте эту команду. Он снова загрузит и установит brew правильно.
Ответ №12:
Я установил Homebrew, используя iTerm, включенный для чипа Apple ARM (M1), но при использовании другой терминальной программы, основанной на Intel (и, следовательно, открывающейся в Rosetta) Я получил эту ошибку. Последнее приложение рассматривается как Intel и, следовательно, хочет использовать более старый путь Homebrew.
Ответ №13:
Поэтому я купил новый M1 и перешел на него. Я забрал его обратно и мигрировал обратно. Я получал эту ошибку. Обнаружил, что мне нужно запустить sudo rm -Rf /opt / homebrew после переустановки brew, чтобы все снова заработало. 16 ГБ оперативной памяти на M1 не заменили мой рабочий процесс на Intel, использующую 64 ГБ.