Почему я получаю сообщение “операция не разрешена” при использовании Homebrew?

Вопрос или проблема

Я пытаюсь установить пакеты с помощью 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]

Это указывает на то, что операция на создание директории в заданном пути была запрещена.

Возможные причины ошибки

  1. Проблемы с правами доступа: Ошибка "Operation not permitted" часто связана с недостаточными правами доступа к указанной директории, где Homebrew пытается создать новую папку (в данном случае в /System/Volumes/Data/opt/homebrew/Cellar).

  2. Неправильная конфигурация Homebrew: Судя по выводу команды brew config, ваш Homebrew установлен в не стандартном префиксе (/System/Volumes/Data/opt/homebrew). Это может привести к проблемам совместимости с некоторыми формулами и бутылками.

  3. Несоответствие системных библиотек: Согласно выводу команды brew doctor, в вашем /usr/local/lib были обнаружены неуправляемые динамические библиотеки. Это может негативно сказаться на установке и работе некоторых формул.

Рекомендуемые шаги по устранению проблемы

  1. Проверьте права доступа:

    • Убедитесь, что у вас есть необходимые разрешения для записи в путь /System/Volumes/Data/opt/homebrew/Cellar. Вы можете использовать команду:
      ls -ld /System/Volumes/Data/opt/homebrew/Cellar
    • Если у вас недостаточно прав, вы можете изменить их с помощью команды chown или chmod, если это необходимо. Однако будьте осторожны с изменением прав системных папок и лучше сделать это только если вы уверены в своих действиях.
  2. Переустановка 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)"
  3. Удаление неуправляемых библиотек:

    • Если динамические библиотеки в /usr/local/lib не были установлены вами, рассмотрите возможность их удаления. Это может помочь избежать конфликтов. Если вы не уверены, лучше сначала переместите их в другое место для резервного копирования.
  4. Обновление и диагностика:

    • После внесения изменений, запустите:
      brew update
      brew doctor
    • Это поможет вам убедиться, что Homebrew правильно настроен.

Заключение

Ошибка "Operation not permitted" при использовании Homebrew на Mac M3 Sequoia может быть вызвана различными факторами, включая права доступа, неправильную конфигурацию и неуправляемые библиотеки. Применение вышеуказанных шагов поможет вам устранить проблему и успешно установить необходимые пакеты. Если у вас возникают дальнейшие сложности, рекомендую обратиться на форумы или в сообщества, посвятившие себя Homebrew, для получения помощи от других пользователей.

Оцените материал
Добавить комментарий

Капча загружается...