เหตุใด yaourt จึงดูผิดที่ (pacman ทำงาน)


8

หลังจากลบ yaourt และ package-query แล้วให้อัพเกรด pacman เป็น v4.0.1 และติดตั้งแพ็คเกจ -query ล่าสุดและ yaourt ใหม่จาก AUR ฉันไม่สามารถใช้ yaourt ได้อีก มันบอกฉัน:

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

ฉันไม่เข้าใจว่าทำไมมันถึงมีอยู่ตอนนี้และไม่อยู่ใน / ฯลฯ ในขณะเดียวกัน Pacman ทำงานได้ตามปกติ หากฉันสร้าง symlink ไปที่ 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 ต้องเป็นก่อน / usr / local / bin ใน $ PATH


โพสต์การแก้ไขของคุณเป็นคำตอบ! :)
iglvzx

1
ฉันต้องการ แต่ฉันต้องรอ 7 ชั่วโมง :)
Toerndev

คำตอบ:


9

Yaourt เห็นได้ชัดว่าใช้รายการแรกใน $ PATH เพื่อ/usr/binตอบสนองความต้องการที่จะเป็นก่อนที่จะ/usr/local/binมี

การเปลี่ยนสิ่งนี้ในการ/etc/profileแก้ไขปัญหา


2
โปรแกรมมักจะใช้รายการแรกใน $ PATH ปัญหาที่แท้จริงน่าจะเป็นว่าคุณมีyaourtติดตั้งเป็นครั้งที่สองในและ/usr /usr/local
user1686

ดีจังที่รู้! คุณจะบอกได้อย่างไรว่ามันถูกติดตั้งสองครั้ง ฉันลบมันด้วย pacman -Rs ก่อนติดตั้งเวอร์ชันใหม่
Toerndev


1

ฉันมีปัญหาเดียวกัน ปัญหา (ดังที่กล่าวไว้ในคำตอบอื่น ๆ ) คือถ้าคุณเรียกใช้:

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

โปรดสังเกตว่า / usr / local / sbin และ / usr / local / bin ปรากฏขึ้นก่อนดังนั้นโปรแกรมที่ค้นหาจะถูกนำมาจากที่ตั้งเหล่านี้ (หากมีอยู่)

ดูใน / usr / local / bin เพื่อดูว่าคุณสามารถดูแพ็คเกจแบบสอบถามได้หรือไม่ หากคุณสามารถทำได้ปัญหาของคุณจะเกิดจากปัญหานี้ไม่ควรมี (เว้นแต่คุณจะติดตั้งที่นั่น) ดังนั้น. ให้แก้ไขได้ ......

เริ่มต้นด้วยการลบ 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 อีกครั้ง (และแพ็คเกจแบบสอบถาม) โดยใช้คำแนะนำที่ให้ไว้ที่นี่: https://archlinux.fr/yaourt-en

และคุณควรจะไปดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.