為什麼 yaourt 找錯地方了(pacman 有效)?

為什麼 yaourt 找錯地方了(pacman 有效)?

刪除 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

你應該可以走了。

相關內容