Что означает ошибка 1
brew возвращает код завершения работы 1, когда не может выполнить операцию (установку, обновление или удаление формулы). Это не специфический код, а общий индикатор сбоя. Уведомление обычно сопровождается дополнительным текстом, например:
Error: Failed to fetch <formula>, ожидание ... сек.
Error: Не удалось установить '/usr/local/Caskroom/...'
Сбой может быть вызван отсутствием прав, поврежденным кэшем, отсутствием зависимостей системы или сетевыми проблемами.
Причины возникновения
- Недостаток прав администратора – brew пытается записать файлы в системные директории без необходимых разрешений.
- Поврежденный кэш формул – старые архивы или поврежденные симлинки в
$(brew --prefix)/Cache. - Отсутствие или устаревшие Xcode Command Line Tools – инструменты
git,clangили другие необходимые системные утилиты отсутствуют. - Сетевые проблемы – нестабильное подключение или блокировка брандмауэра препятствуют загрузке ресурсов.
- Конфликт версий – параллельная установка Homebrew с другой версией или конфликт формул (например, две формулы требуют разный
python).
Способы решения
Способ 1: Запустить brew doctor и исправить ошибки
brew doctor — это быстрый сканер, который ищит очевидные проблемы и предлагает действия.
brew doctor
Если программа обнаружит ошибки, выполните все указанные действия (например, сбросьте симлинки brew link или переустановите необходимые инструменты).
Способ 2: Очистить кэш формул и обновить индекс
Чистый кэш часто устраняет скрытые проблемы.
# Удалить все ненужные архивы
brew cleanup --force
# Принудительно обновить кэш формул
brew update --force
После завершения работы повторно попробуйте установку.
💡 Совет: Если
brew cleanupудаляет много данных, вы можете ограничить его действие конкретной формулой:brew cleanup <formula>.
Способ 3: Переустановить проблемную формулу
Если ошибка связана с конкретной формулой, удалите и установите ее заново.
# Удалить формулу вместе со всеми пакетами
brew uninstall --force <formula>
# Установить заново
brew install <formula>
Заметьте, что --force гарантирует удаление остаточных файлов, которые могли вызвать сбой при установке.
Способ 4: Проверить и переустановить Xcode Command Line Tools
Отсутствие CLI-инструментов часто проявляется ошибками, связанными с git или clang.
# Указать существующее расположение Xcode
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
# Установить недостающие инструменты
xcode-select --install
Перезапустите терминал, затем повторите попытку установки.
Способ 5: Полностью переустановить Homebrew
Если ни один из вышеуказанных методов не помог, самая радикальная мера — переустановить brew с нуля.
# Удалить все копии brew
which -a brew | xargs sudo rm -f
# Выполнить официальный скрипт установки
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
После переустановки запустите brew doctor и выполните предыдущие шаги по очистке.
⚠️ Важно: Переустановка удалит все формулы, пакеты Casks и пользовательские конфигурации. Сделайте бэкап важных формул с помощью
brew list --versions > brew_backup.txt.
Профилактика
- Права администратора: Используйте обычный brew; не запускайте
brewсsudo. - Регулярная очистка: Планируйте еженедельный
brew cleanupиbrew update. - Обновления системы: Своевременно обновляйте macOS и Xcode, чтобы поддерживать совместимость инструментов.
- Резервное копирование формул: Сохраняйте список установленных формул (
brew list --versions), чтобы быстро восстановить их после переустановки brew.
Краткое содержание
Код ошибки 1 в Homebrew означает общую неудачу установки. Проверьте систему с помощью brew doctor, очистите кэш, удалите и переустановите проблемную формулу, убедитесь в наличии Xcode CLI-инструментов или, как последнее средство, переустановите весь Homebrew. Следуйте пяти описанным способам, чтобы быстро устранить проблему и предотвратить ее повторение в будущем.