8

После удаления yaourt и пакета-запроса, обновления pacman до v4.0.1 и переустановки последнего пакета-запроса и yaourt из AUR я больше не могу использовать yaourt. Это говорит мне:

Unable to open file: /usr/local/etc/pacman.conf

Я не понимаю, почему он смотрит туда сейчас, а не в /etc. Между тем Pacman работает нормально. Если я создаю символическую ссылку на pacman.conf, я получаю следующую ошибку:

failed to initialize alpm library (could not find or read directory)

Мой $ PATH - это:

/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin/vendor_perl:/usr/bin/core_perl

Я попытался посмотреть в yaourt PKGBUILD перед установкой, переустановить его, посмотреть в файле сценария yaourt, и я не могу найти ничего подозрительного. Не уверен, что искать, что могло случиться?

РЕДАКТИРОВАТЬ: Нашел решение: /usr /bin должен быть перед /usr /local /bin в $ PATH.

3 ответа3

8

Yaourt, по-видимому, использует первую запись в $ PATH, поэтому /usr/bin должен находиться перед /usr/local/bin .

Изменение этого в /etc/profile решило проблему.

1

Я была такая же проблема. Проблема (как упоминалось в других ответах) заключается в том, что если вы запустите:

[linux]$ echo $PATH
[linux]$ /usr/local/sbin:/usr/local/bin:/usr/bin .....

Обратите внимание, что /usr /local /sbin и /usr /local /bin появляются первыми, поэтому программы, которые нужно искать, будут взяты из этих мест (если они существуют).

Загляните в /usr /local /bin, чтобы увидеть, видите ли вы там package-query; если вы можете, то ваши проблемы вызваны этим, его не должно быть (если вы не установили его там). Так. Давайте это исправим ......

Начните с удаления YAOURT:

sudo pacman -R yaourt
checking dependencies...

Packages (1) yaourt-1.9-1

Total Removed Size:  0.81 MiB

:: Do you want to remove these packages? [Y/n] y
:: Processing package changes...
(1/1) removing yaourt                                                                                                             [############################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

А затем удалите пакет-запрос:

[linux]$ sudo pacman -R package-query
checking dependencies...

Packages (1) package-query-1.9-3

Total Removed Size:  0.08 MiB

:: Do you want to remove these packages? [Y/n] y
:: Processing package changes...
(1/1) removing package-query                                                                                                      [############################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

Наконец, вручную удалите случайный двоичный файл запроса пакета:

[linux]$ sudo rm -rf /usr/local/bin/package-query

Теперь переустановите yaourt (и package-query), используя инструкции, приведенные здесь: https://archlinux.fr/yaourt-en

И тебе должно быть хорошо идти.

1

Переустановите запрос пакета, используя пустой --prefix: ./configure --prefix=

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .