Как обновить все пакеты, установленные через Homebrew, после большого обновления операционной системы

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

У меня была рабочая конфигурация со старой версией Mac, и я сделал несколько резервных копий в облаке. Недавно я приобрел новый компьютер и восстановил всё, что смог, из облака. Думаю, это включало некоторые настройки homebrew. Теперь моя установка homebrew не работает. Когда я пытаюсь обновить что-то, сталкиваюсь с отказом доступа, например, Error: Permission denied @ apply2files - /usr/local/lib/docker/cli-plugins. Как лучше всего это исправить? Я полностью готов удалить все пакеты, установленные с помощью старого подхода (sudo).

Пример вывода:

brew upgrade python3

Error: python3 not installed
==> `brew cleanup` has not been run in the last 30 days, running now...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/aom--3.10.0... (4.4MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/c-ares--1.34.3... (298.5KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/ca-certificates--2024-09-24... (132.6KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/ca-certificates--2024-11-26... (133.8KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/cfitsio--4.4.1... (1.1MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/cmake--3.31.0... (17.9MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/doxygen--1.12.0... (5.6MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/gettext--0.22.5... (8.8MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/gettext--0.23... (9.0MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/gh--2.61.0... (12.3MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/git-gui--2.47.0_1... (480.8KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/glib--2.82.2... (8.2MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/gnupg--2.4.6... (5.2MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/imagemagick--7.1.1-40... (10.6MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/ipfs--0.31.0... (40.0MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/libheif--1.19.3... (2.0MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/libomp--19.1.3... (573KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/libtool--2.5.3... (1MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/libxau--1.0.11... (28.2KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/libxrender--0.9.11... (51.7KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/neovim--0.10.2_1... (8.7MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/nss--3.106... (6.0MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/open-mpi--5.0.5... (16.1MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/openjpeg--2.5.2... (2.1MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/pango--1.54.0... (786.3KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/pixman--0.44.0... (238KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/pkgconf--2.3.0.tar.xz... (308.8KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/pkgconf--2.3.0_1... (105KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/poppler--24.11.0... (8.9MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/[email protected]... (18.7MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/[email protected]_2... (121.4MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/sqlite--3.47.0... (2.3MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/[email protected]... (8.5MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/webp--1.4.0... (995.7KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/x265--4.0_1... (5.2MB)
==> Автоудаление 4 ненужных формул:
adns
assimp
brotli
dbus
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/luajit--2.1.1727870382... (856.7KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/jpeg-xl--0.11.0_1... (17.0MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/libdeflate--1.22... (120.6KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/make--4.4.1... (422.4KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/tree-sitter--0.24.4... (5.5MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/jpeg-turbo--3.0.4... (1.3MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/[email protected]_1... (15.4MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/gpgme--1.24.0_1... (1.3MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/pmix--5.0.3... (4MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/Cask/font-fira-code-nerd-font--3.2.1.zip... (23.8MB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/api-source/Homebrew/homebrew-core/c18289230a6c0135711d027339ef1a1a8a8f5296/Formula/pkgconf.rb... (4KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/api-source/Homebrew/homebrew-core/e6ff20365349a90c5c4e05fccfe8631ce6f39491/Formula/gcc.rb... (10.8KB)
Removing: /Users/dzenan.zukic/Library/Caches/Homebrew/api-source/Homebrew/homebrew-core/e6ff20365349a90c5c4e05fccfe8631ce6f39491/Formula/[email protected]... (22.4KB)
Removing: /Users/dzenan.zukic/Library/Logs/Homebrew/openssl@3... (64B)
Removing: /Users/dzenan.zukic/Library/Logs/Homebrew/ca-certificates... (64B)
Error: Permission denied @ apply2files - /usr/local/lib/docker/cli-plugins

sudo brew upgrade python3

Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.

Ответ или решение

После обновления операционной системы на новом компьютере вы столкнулись с проблемой в работе Homebrew: при попытке обновления пакетов появляются ошибки доступа. Этот сбой может быть вызван изменениями в правах доступа или другими настройками, перенесенными с предыдущего устройства.

Чтобы устранить проблемы с Homebrew и обновить все пакеты, выполните следующие шаги:

Шаг 1: Проверка и обновление Homebrew

  1. Обновите средства обеспечения совместимости:

    Это могут быть скрипты и компоненты, обновления для которых не установлены. Запустите следующие команды для обновления Homebrew и его компонентов:

    brew update
    brew upgrade
  2. Проверьте версию Homebrew:

    Убедитесь, что Homebrew обновлен до последней версии:

    brew --version

Шаг 2: Исправление прав доступа

Ошибки, такие как Permission denied, указывают на проблемы с правами доступа к файлам и директориям. Попробуйте следующее:

  1. Сбросьте права доступа к /usr/local:

    sudo chown -R $(whoami) /usr/local
    sudo chmod -R u+w /usr/local
  2. Назначьте владельца директорий Homebrew:

    В случае, если у вас установлена новая версия macOS, переместите наборы инструментов Homebrew:

    sudo chown -R $(whoami):admin /usr/local/*

Шаг 3: Очистка кеша и удаление ненужных компонентов

  1. Очистите кеш:

    Накопленный кеш может содержать устаревшие или проблемные данные.

    brew cleanup
  2. Удалите ненужные пакеты:

    Для этого можно воспользоваться командой:

    brew autoremove

Шаг 4: Полное удаление и переустановка Homebrew

Если проблемы сохраняются, рекомендуется полностью удалить Homebrew и установить его снова:

  1. Удаление Homebrew:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
  2. Установка Homebrew:

    Перейдите на официальный сайт Homebrew и следуйте инструкциям для установки.

  3. Переустановите необходимые пакеты:

    После переустановки Homebrew постарайтесь переустановить необходимые пакеты, воспользовавшись командой:

    brew install <название_пакета>

Заключение

Следуя этим шагам, вы должны устранить проблемы с Homebrew, возникшие после апгрейда ОС. Эти действия позволят убедиться, что все пакеты обновлены до актуальной версии и что работоспособность системы не затруднена проблемами с правами доступа. В случае возникновения дополнительных ошибок рекомендуется обратиться к официальной документации Homebrew или к сообществу для получения дополнительной поддержки.

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

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