Error cannot install in homebrew on arm processor in intel default prefix usr local

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

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 and brew 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:

  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. Установите Homebrew:
       $ curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
       
    2. Установите префикс Homebrew в вашем текущем сеансе терминала:
       $ eval "$(homebrew/bin/brew shellenv)"
       
    3. Обновить Homebrew:
       $ brew update --force --quiet
       
    4. Отменить доступ на запись к определенным папкам и файлам:
       $ chmod -R go-w "$(brew --prefix)/share/zsh"
       
  6. Установите префикс Homebrew в будущих сеансах терминала, добавив необходимую команду в один из файлов запуска Zsh. Насколько я могу судить, .zshrc это предпочтительный загрузочный файл для этого типа команд:
     $ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
     

    Обратите внимание, что если на вашем компьютере есть какие-либо другие существующие сеансы терминала, которые были открыты до запуска приведенной выше команды, правильный префикс 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.
     

Теперь должно быть возможно продолжить использование 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 into opt/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 ГБ.

Понравилась статья? Поделить с друзьями:
  • Error cannot initialize library solidworks при активации
  • Error cannot initialize gfx
  • Error cannot init model by specified list of keywords ret 2
  • Error cannot init d3d or grf file has problem ок
  • Error cannot get phone encrypt state перевод