Чому yaourt дивиться в неправильному місці (Pacman працює)?


8

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

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

Я не розумію, чому це дивиться зараз, а не в / і т.д. Тим часом 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.


Опублікуйте свою редагування як відповідь! :)
iglvzx

1
Я б хотів, але мені потрібно почекати 7 годин. :)
Toerndev

Відповіді:


9

Яурт, мабуть, використовує перший запис у $ PATH, тому /usr/binпотрібно бути раніше /usr/local/bin.

Змінивши це у /etc/profileвирішеній проблемі.


2
Програми завжди використовують перший запис у $ PATH. Реальна проблема , здається, що у вас є Yaourt встановлені в два рази , в /usrі /usr/local.
користувач1686

Це добре знати! Як ви можете сказати, що він встановлюється двічі? Я видалив його з pacman -Rs перед встановленням нової версії.
Toerndev

1

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


1

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

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

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

Загляньте в / usr / local / bin, щоб побачити, чи можете ви побачити там пакетний запит; якщо ви можете, то ваші проблеми викликані цим, його не повинно бути там (якщо ви його там не встановили). Тому. Давайте виправити це ......

Почніть з видалення 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 (і запит на пакунки), використовуючи інструкції, надані тут: https://archlinux.fr/yaourt-en

І вам слід добре піти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.