왜 yaourt가 잘못된 곳을 찾고 있습니까(팩맨 작동)?

왜 yaourt가 잘못된 곳을 찾고 있습니까(팩맨 작동)?

yaourt 및 package-query를 제거하고 pacman을 v4.0.1로 업그레이드하고 AUR에서 최신 package-query 및 yaourt를 다시 설치한 후 더 이상 yaourt를 사용할 수 없습니다. 그것은 나에게 말한다 :

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

/etc가 아닌 지금 거기를 찾는 이유를 이해할 수 없습니다. 그 동안 팩맨은 정상적으로 작동하고 있습니다. 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 스크립트 파일을 살펴보았지만 의심스러운 것을 찾을 수 없습니다. 무엇을 찾아야 할지 잘 모르겠습니다. 무슨 일이 일어났을까요?

편집: 해결책을 찾았습니다. /usr/bin은 $PATH에서 /usr/local/bin 앞에 있어야 합니다.

답변1

Yaourt는 분명히첫 번째 항목$PATH에 있으므로 그 /usr/bin앞에 있어야 합니다 /usr/local/bin.

이것을 변경하면 /etc/profile문제가 해결되었습니다.

답변2

빈 항목을 사용하여 패키지 쿼리를 다시 설치합니다 --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...

그런 다음 패키지 쿼리를 제거하십시오.

[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(및 package-query)를 다시 설치하십시오.https://archlinux.fr/yaourt-en

그리고 당신은 가도 좋을 것입니다.

관련 정보