Почему ты смотришь не туда (Pacman работает)?

Почему ты смотришь не туда (Pacman работает)?

После удаления yaourt и package-query, обновления pacman до v4.0.1 и переустановки последней версии package-query и 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, и не могу найти ничего подозрительного. Не уверен, что искать, что могло случиться?

EDIT: Нашел решение: /usr/bin должен находиться перед /usr/local/bin в $PATH.

решение1

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

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

решение2

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

решение3

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

[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...

А затем удалите package-query:

[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...

Наконец, вручную удалите ненужный двоичный файл package-query:

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

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

И все должно быть готово.

Связанный контент