Pourquoi Yaourt regarde-t-il au mauvais endroit (Pacman fonctionne)?

8

Après avoir supprimé yaourt et package-query, mis à niveau pacman vers v4.0.1 et réinstallé la dernière package-query et yaourt d'AUR, je ne peux plus utiliser yaourt. Ça me dit:

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

Je ne comprends pas pourquoi il regarde maintenant et non dans / etc. Pendant ce temps, pacman fonctionne normalement. Si je crée un lien symbolique vers pacman.conf, j'obtiens à la place l'erreur suivante:

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

Mon $ PATH est:

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

J'ai essayé de chercher dans le yaourt PKGBUILD avant de l'installer, de le réinstaller, de chercher dans le fichier de script yaourt, et je ne trouve rien de suspect. Vous ne savez pas quoi chercher, qu'est-ce qui aurait pu arriver?

EDIT: Trouvé la solution: / usr / bin doit être avant / usr / local / bin dans $ PATH.

Toerndev
la source
Postez votre modification comme réponse! :)
iglvzx
1
Je le ferais, mais je dois attendre 7 heures. :)
Toerndev

Réponses:

9

Yaourt utilise apparemment la première entrée de $ PATH, donc /usr/bindoit être avant /usr/local/bin.

Changer cela a /etc/profilerésolu le problème.

Toerndev
la source
2
Les programmes utilisent toujours la première entrée de $ PATH. Le vrai problème semble être que vous avez installé yaourt deux fois , dans /usret /usr/local.
user1686
C'est bon à savoir! Comment pouvez-vous dire qu'il est installé deux fois? Je l'ai supprimé avec pacman -Rs avant d'installer la nouvelle version.
Toerndev
1

Réinstallez package-query en utilisant vide --prefix:./configure --prefix=

Adrian
la source
1

J'ai eu le même problème. Le problème (comme mentionné dans d'autres réponses) est que si vous exécutez:

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

Notez que / usr / local / sbin et / usr / local / bin apparaissent en premier, donc les programmes recherchés seront extraits de ces emplacements (s'ils existent).

Jetez un œil dans / usr / local / bin pour voir si vous pouvez y voir package-query; si vous le pouvez, vos problèmes sont causés par cela, cela ne devrait pas être là (à moins que vous ne l'ayez installé là-bas). Donc. Permet de le réparer ......

Commencez par supprimer 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...

Et puis supprimez 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...

Enfin, supprimez manuellement le binaire de requête de package errant:

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

Maintenant, réinstallez yaourt (et package-query) en utilisant les instructions fournies ici: https://archlinux.fr/yaourt-en

Et vous devriez être prêt à partir.

Matt Conway
la source