Вопрос или проблема
Я пытаюсь установить пакеты с помощью Homebrew на Mac M3 Sequoia, но многие из них не работают.
Я пытаюсь установить [email protected]
, но у меня возникла следующая ошибка :
/usr/bin/env tar --extract --no-same-owner --file /Users/kenan/Library/Caches/Homebrew/downloads/05c90a11ec4eaa6c29d81f335666fac0d29998c4d47a5f9754da1d4830e4cdc8--mysql-8.4.2.tar.gz --directory /private/tmp/homebrew-unpack20241014-80246-ct5fv1
/usr/bin/env cp -al /private/tmp/homebrew-unpack20241014-80246-ct5fv1/mysql-8.4.2 /private/tmp/mysql-clientA8.4-20241014-80246-sx0s0x
==> Временные файлы сохранены в:
/private/tmp/mysql-clientA8.4-20241014-80246-sx0s0x
Ошибка: Произошло исключение в дочернем процессе:
Errno::EPERM: Операция не разрешена @ dir_s_mkdir - /System/Volumes/Data/opt/homebrew/Cellar/[email protected]
Вот моя brew config
, если нужно :
HOMEBREW_VERSION: 4.4.1
ORIGIN: https://github.com/Homebrew/brew
HEAD: 70672606c6ac07a5e8f75abeda7b8736e8285dbe
Последний коммит: 11 часов назад
Core tap JSON: 14 Окт 18:01 UTC
Core cask tap JSON: 14 Окт 18:01 UTC
HOMEBREW_PREFIX: /System/Volumes/Data/opt/homebrew
HOMEBREW_REPOSITORY: /System/Volumes/Data/opt/homebrew
HOMEBREW_CELLAR: /System/Volumes/Data/opt/homebrew/Cellar
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_NO_ENV_HINTS: установлено
Homebrew Ruby: 3.3.5 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.5/bin/ruby
CPU: octa-core 64-bit arm_ibiza
Clang: 16.0.0 build 1600
Git: 2.39.5 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 15.0.1-arm64
CLT: 16.0.0.0.1.1724870825
Xcode: 16.0
Rosetta 2: false
И вывод brew doctor
:
Обратите внимание, что эти предупреждения используются только для помощи разработчикам Homebrew
при отладке, если вы подаете обращение. Если все, для чего вы используете Homebrew, работает нормально:
пожалуйста, не беспокойтесь и не подавайте обращение; просто игнорируйте это. Спасибо!
Предупреждение: В /usr/local/lib были найдены непрактичные dylib-файлы.
Если вы не помещали их туда специально, они могут вызвать проблемы при
создании формул Homebrew и могут потребоваться удалить.
Неожиданные dylib-файлы:
/usr/local/lib/libhidapi.dylib
/usr/local/lib/libjpeg.9.dylib
/usr/local/lib/libusb-1.0.dylib
/usr/local/lib/libzbar.dylib
Предупреждение: Префикс вашего Homebrew не равен /opt/homebrew.
Многие бочки Homebrew (бинарные пакеты) можно использовать только с предустановленным префиксом.
Рекомендуется удалить Homebrew и переустановить его в предустановленный префикс.
Ожидается, что некоторые формулы не будут успешно собираться в этой неподдерживаемой конфигурации.
Ожидается, что Homebrew может работать с ошибками и медленно.
Не создавайте никаких вопросов об этом в репозиториях Homebrew на GitHub.
Не создавайте никаких обращений, даже если вы считаете, что это сообщение не относится к делу.
Все открытые вопросы будут немедленно закрыты без ответа.
Не спрашивайте о помощи у Homebrew или его разработчиков в социальных сетях.
Вы можете попросить о помощи в дискуссиях Homebrew, но вряд ли получите ответ.
Попробуйте разобраться в проблеме самостоятельно и отправьте исправление в качестве запроса на слияние.
Мы рассмотрим это, но можем как принять, так и не принять.
Ответ или решение
Почему вы получаете ошибку "Operation not permitted" при использовании Homebrew на Mac M3 Sequoia?
Введение
Homebrew является мощным инструментом для установки и управления пакетами на macOS. Однако, пользователи могут столкнуться с ошибками, такими как "Operation not permitted". В данной статье мы проанализируем возможные причины и решения вашей проблемы при установке пакетов с использованием Homebrew на Mac M3 Sequoia.
Описание проблемы
Вы пытаетесь установить пакет MySQL, и в процессе выполнения возникают следующие ошибки:
Errno::EPERM: Operation not permitted @ dir_s_mkdir - /System/Volumes/Data/opt/homebrew/Cellar/[email protected]
Это указывает на то, что операция на создание директории в заданном пути была запрещена.
Возможные причины ошибки
-
Проблемы с правами доступа: Ошибка "Operation not permitted" часто связана с недостаточными правами доступа к указанной директории, где Homebrew пытается создать новую папку (в данном случае в
/System/Volumes/Data/opt/homebrew/Cellar
). -
Неправильная конфигурация Homebrew: Судя по выводу команды
brew config
, ваш Homebrew установлен в не стандартном префиксе (/System/Volumes/Data/opt/homebrew
). Это может привести к проблемам совместимости с некоторыми формулами и бутылками. -
Несоответствие системных библиотек: Согласно выводу команды
brew doctor
, в вашем/usr/local/lib
были обнаружены неуправляемые динамические библиотеки. Это может негативно сказаться на установке и работе некоторых формул.
Рекомендуемые шаги по устранению проблемы
-
Проверьте права доступа:
- Убедитесь, что у вас есть необходимые разрешения для записи в путь
/System/Volumes/Data/opt/homebrew/Cellar
. Вы можете использовать команду:ls -ld /System/Volumes/Data/opt/homebrew/Cellar
- Если у вас недостаточно прав, вы можете изменить их с помощью команды
chown
илиchmod
, если это необходимо. Однако будьте осторожны с изменением прав системных папок и лучше сделать это только если вы уверены в своих действиях.
- Убедитесь, что у вас есть необходимые разрешения для записи в путь
-
Переустановка Homebrew:
- Если ваш Homebrew установлен в некорректном префиксе, рекомендуется переустановить его в стандартный путь (
/opt/homebrew
). Вы можете удалить Homebrew с помощью следующих команд:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
- Затем установите его снова:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Если ваш Homebrew установлен в некорректном префиксе, рекомендуется переустановить его в стандартный путь (
-
Удаление неуправляемых библиотек:
- Если динамические библиотеки в
/usr/local/lib
не были установлены вами, рассмотрите возможность их удаления. Это может помочь избежать конфликтов. Если вы не уверены, лучше сначала переместите их в другое место для резервного копирования.
- Если динамические библиотеки в
-
Обновление и диагностика:
- После внесения изменений, запустите:
brew update brew doctor
- Это поможет вам убедиться, что Homebrew правильно настроен.
- После внесения изменений, запустите:
Заключение
Ошибка "Operation not permitted" при использовании Homebrew на Mac M3 Sequoia может быть вызвана различными факторами, включая права доступа, неправильную конфигурацию и неуправляемые библиотеки. Применение вышеуказанных шагов поможет вам устранить проблему и успешно установить необходимые пакеты. Если у вас возникают дальнейшие сложности, рекомендую обратиться на форумы или в сообщества, посвятившие себя Homebrew, для получения помощи от других пользователей.