Por que o yaourt está procurando no lugar errado (pacman funciona)?

Por que o yaourt está procurando no lugar errado (pacman funciona)?

Depois de remover o yaourt e o package-query, atualizar o pacman para v4.0.1 e reinstalar o package-query e o yaourt mais recentes do AUR, não posso mais usar o yaourt. Isso me diz:

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

Não entendo por que ele está lá agora e não em/etc. Enquanto isso, o pacman está funcionando normalmente. Se eu criar um link simbólico para pacman.conf, recebo o seguinte erro:

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

Meu $PATH é:

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

Tentei procurar no yaourt PKGBUILD antes de instalar, reinstalá-lo, procurar no arquivo de script do yaourt e não consigo encontrar nada suspeito. Não tenho certeza do que procurar, o que poderia ter acontecido?

EDIT: Encontrou a solução: /usr/bin precisa estar antes de /usr/local/bin em $PATH.

Responder1

Yaourt aparentemente usa oprimeira entradaem $PATH, então /usr/binprecisa estar antes /usr/local/binde lá.

Mudar isso /etc/profileresolveu o problema.

Responder2

Reinstale o package-query usando vazio --prefix:./configure --prefix=

Responder3

Eu tive o mesmo problema. O problema (como mencionado em outras respostas) é que se você executar:

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

Observe que /usr/local/sbin e /usr/local/bin aparecem primeiro, então os programas pesquisados ​​serão retirados desses locais (se existirem).

Dê uma olhada em /usr/local/bin para ver se você consegue ver package-query lá; se você puder, então seus problemas estão sendo causados ​​por isso, ele não deveria estar lá (a menos que você o tenha instalado lá). Então. Vamos consertar isso......

Comece removendo 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...

E então remova a consulta de pacote:

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

Por fim, remova manualmente o binário de consulta de pacote perdido:

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

Agora, reinstale o yaourt (e o package-query) usando as instruções fornecidas aqui:https://archlinux.fr/yaourt-en

E você deve estar pronto para ir.

informação relacionada