Tại sao yaourt nhìn không đúng chỗ (pacman hoạt động)?


8

Sau khi xóa yaourt và truy vấn gói, nâng cấp pacman lên v4.0.1 và cài đặt lại truy vấn gói và yaourt mới nhất từ ​​AUR, tôi không thể sử dụng yaourt nữa. Nó nói với tôi:

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

Tôi không hiểu tại sao bây giờ nó lại nhìn và không ở / v.v. Trong khi đó pacman vẫn hoạt động bình thường. Nếu tôi tạo một liên kết tượng trưng đến pacman.conf, tôi sẽ gặp lỗi sau:

failed to initialize alpm library (could not find or read directory)

$ PATH của tôi là:

/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin/vendor_perl:/usr/bin/core_perl

Tôi đã thử tìm trong PKGBUILD yaourt trước khi cài đặt, cài đặt lại, tìm tệp tập tin yaourt và tôi không thể tìm thấy điều gì khả nghi. Không chắc chắn những gì để tìm kiếm, những gì có thể đã xảy ra?

EDIT: Đã tìm thấy giải pháp: / usr / bin cần có trước / usr / local / bin trong $ PATH.


Gửi chỉnh sửa của bạn như là một câu trả lời! :)
iglvzx

1
Tôi sẽ, nhưng tôi cần đợi 7 giờ. :)
Toerndev

Câu trả lời:


9

Yaourt rõ ràng sử dụng mục đầu tiên trong $ PATH, vì vậy /usr/bincần phải có trước /usr/local/binđó.

Thay đổi điều này trong /etc/profilegiải quyết vấn đề.


2
Các chương trình luôn sử dụng mục đầu tiên trong $ PATH. Vấn đề thực sự có vẻ là bạn đã cài đặt yaourt hai lần , trong /usr/usr/local.
dùng1686

Đó là điều tốt để biết! Làm thế nào bạn có thể nói rằng nó được cài đặt hai lần? Tôi đã gỡ bỏ nó bằng pacman -Rs trước khi cài đặt phiên bản mới.
Toerndev

1

Cài đặt lại truy vấn gói bằng cách sử dụng sản phẩm nào --prefix:./configure --prefix=


1

Tôi gặp vấn đề tương tự. Vấn đề (như đã đề cập trong các câu trả lời khác) là nếu bạn chạy:

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

Lưu ý rằng / usr / local / sbin và / usr / local / bin xuất hiện đầu tiên, vì vậy các chương trình được tìm kiếm sẽ được lấy từ các vị trí này (nếu chúng tồn tại).

Có một cái nhìn trong / usr / local / bin để xem bạn có thể thấy truy vấn gói ở đó không; nếu bạn có thể, thì vấn đề của bạn đang được gây ra bởi điều này, nó không nên ở đó (trừ khi bạn cài đặt nó ở đó). Vì thế. Hãy sửa nó ......

Bắt đầu bằng cách xóa 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...

Và sau đó xóa gói truy vấn:

[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...

Cuối cùng, xóa thủ công nhị phân truy vấn gói đi lạc:

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

Bây giờ, cài đặt lại yaourt (và truy vấn gói) bằng cách sử dụng các hướng dẫn được cung cấp tại đây: https://archlinux.fr/yaourt-en

Và bạn nên tốt để đi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.