#Что означает ошибка
error: failed to build package / ==> ERROR: A failure occurred in build()
Ошибка сборки пакета через yay в Manjaro почти всегда связана с PKGBUILD, который не соответствует текущему состоянию системы: устаревшие зависимости, изменения в исходном коде, отсутствующие инструменты сборки или нехватка памяти. yay лишь вызывает makepkg.
Найдите первую ошибку в логе, а не последнюю.
Проверьте комментарии к пакету в AUR.
Сборка в AUR может падать из-за устаревших зависимостей, нехватки base-devel или несовместимости с текущей версией библиотек. Прочитайте журнал и комментарии на странице пакета.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет base-devel | Инструменты. | pacman -S base-devel. |
| Устаревший PKGBUILD | Комментарии. | Дождитесь. |
| Конфликт библиотек | Версии. | Обновите систему. |
| Нехватка памяти | Сборка. | Закройте приложения. |
#Пошаговое решение
- Установите base-devel и обновите системуОткройте терминал Manjaro; перед обновлением сохраните документы и сделайте резервную копию на случай неудачной смены библиотек. Выполните
sudo pacman -Syuи прочитайте список обновлений; если есть конфликты пакетов, разрешите их до установки AUR. После успешного обновления установите набор средств сборки из официального репозитория черезsudo pacman -S --needed base-devel git. Для сборки AUR запускайтеyayпод обычным пользователем, не под root. Если ошибка сборки сохранится, смотрите первые строки ошибки компилятора, а не повторяйте установку вслепую.Linux · Терминал (Bash)КомандаКоманда с условным именем пакета заменена на диагностику готовности сборки.pacman -Q base-develcommand -v yay - Очистите кэш yayУточните, какому приложению принадлежит кэш; сначала сохраните рабочие данные. Используйте штатную команду очистки именно этого приложения или пакетного менеджера, а не удаляйте произвольные системные каталоги.
- Найдите первую ошибку в логеВ системах с systemd откройте терминал и введите
journalctl -b -p err --no-pager -n 60, чтобы посмотреть ошибки текущей загрузки. Для конкретной службы добавьте-u ИМЯ.serviceс реальным именем. Ориентируйтесь на первую ошибку до повторных сообщений о сбое; журнал может содержать частные адреса и пути, поэтому не публикуйте его целиком. - Прочитайте комментарии в AURОткройте страницу нужного пакета на официальном сайте AUR (aur.archlinux.org), посмотрите дату обновления, комментарии и сообщения о текущих сбоях. Прежде чем собирать, скачайте PKGBUILD и прочитайте его команды: это пользовательский сценарий с доступом к вашей системе. Не запускайте скачанный сценарий с правами root; сборку выполняют обычным пользователем, а установку пакета — через pacman.
- Попробуйте -bin или -git версиюВ AUR бывают варианты одного приложения с суффиксом
-bin(готовый бинарный выпуск) или-git(код из текущей ветки). Перед выбором на https://aur.archlinux.org/ проверьте владельца пакета, PKGBUILD, зависимости, последние комментарии и источник файлов.-gitобычно более изменчив и не гарантирует исправления сбоя сборки. Выберите альтернативу только если её поддержка и происхождение подтверждены, после чего собирайте в отдельном каталоге под обычным пользователем, а не через sudo.
#Подготовка
Установите инструменты: sudo pacman -S --needed base-devel git. Обновите систему целиком (sudo pacman -Syu) — AUR-пакеты собираются под актуальные библиотеки. Очистите кэш yay: yay -Sc или rm -rf ~/.cache/yay/пакет. Включите вывод деталей: yay -S пакет --noconfirm=false --answerclean All --answerdiff None и смотрите лог. Для подробностей в самой сборке: cd ~/.cache/yay/пакет && makepkg -sf.
#Причины
Конфликт зависимостей: yay -S пакет --mflags "--nodeps" (осторожно) или установите нужную версию вручную. Ошибки компиляции после обновления GCC/Python — пакет ждёт обновления PKGBUILD, прочитайте комментарии на и попробуйте -git-версию. Проверка подписей: gpg --recv-keys ИДЕНТИФИКАТОР. Нехватка памяти при сборке (Rust, Chromium, Electron): добавьте swap, уменьшите MAKEFLAGS="-j2".
#Альтернативы
Для многих программ есть Flatpak, Snap или пакеты в репозиториях Manjaro (pamac search пакет, включите поддержку AUR в Pamac). Бинарные варианты -bin собираются быстрее и надёжнее. Если пакет заброшен, найдите форк или установите вручную. Для отката после неудачной сборки очистите частичные установки: yay -Yc. Следите за обновлениями Manjaro: после крупных релизов требуется пересборка AUR-пакетов (yay -S --rebuildall для проблемных).
pacman -Q gitpacman -Qg base-develcommand -v yay