
刪除 yaourt 和 package-query,將 pacman 升級到 v4.0.1 並從 AUR 重新安裝最新的 package-query 和 yaourt 後,我無法再使用 yaourt 了。它告訴我:
Unable to open file: /usr/local/etc/pacman.conf
我不明白為什麼它現在在那裡而不是在 /etc 中查找。同時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 腳本文件,但找不到任何可疑內容。不知道要找什麼,可能發生了什麼?
編輯:找到解決方案:/usr/bin 需要位於 $PATH 中的 /usr/local/bin 之前。
答案1
Yaourt 顯然使用第一個條目在 $PATH 中,所以/usr/bin
需要位於/usr/local/bin
那裡之前。
改變這個就/etc/profile
解決了問題。
答案2
使用empty重新安裝package-query --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
你應該可以走了。