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

8

Depois de remover o yaourt e o package-query, atualizando o pacman para a v4.0.1 e reinstalando a última package-query e yaourt do AUR, não posso mais usar o yaourt. Diz-me:

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

Eu não entendo por que está procurando lá agora e não em / etc. Enquanto isso, o pacman está funcionando normalmente. Se eu criar um link simbólico para pacman.conf, obtenho 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 sabe o que procurar, o que poderia ter acontecido?

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

Toerndev
fonte
Publique sua edição como resposta! :)
iglvzx
11
Eu faria, mas preciso esperar 7 horas. :)
Toerndev 19/01/12

Respostas:

9

Yaourt aparentemente usa a primeira entrada em $ PATH, então /usr/binprecisa estar antes de /usr/local/binlá.

Mudar isso /etc/profileresolveu o problema.

Toerndev
fonte
2
Os programas sempre usam a primeira entrada em $ PATH. O verdadeiro problema parece ser que você instalou o yaourt duas vezes , no /usre /usr/local.
usar o seguinte comando
É bom saber disso! Como você pode dizer que ele está instalado duas vezes? Eu o removi com pacman -Rs antes de instalar a nova versão.
Toerndev 26/01
1

Reinstale o pacote de consulta usando vazio --prefix:./configure --prefix=

Adrian
fonte
1

Eu tive o mesmo problema. O problema (conforme 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, portanto os programas pesquisados ​​serão retirados desses locais (se existirem).

Dê uma olhada em / usr / local / bin para ver se você pode ver a consulta de pacotes lá; se você puder, seus problemas estão sendo causados ​​por isso, não deve estar lá (a menos que você o tenha instalado). Assim. Vamos corrigi-lo ......

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 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 disperso:

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

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

E você deve estar pronto para ir.

Matt Conway
fonte