为什么您在错误的地方看到yaourt(pacman工作)?


8

删除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脚本文件之前,我曾尝试查看yaourt PKGBUILD,但找不到任何可疑的东西。不知道要寻找什么,可能会发生什么?

编辑:找到了解决方案:/ usr / bin必须在$ PATH中的/ usr / local / bin之前。


发布您的编辑作为答案!:)
iglvzx 2012年

1
可以,但是我需要等待7个小时。:)
Toerndev

Answers:


9

Yaourt显然使用$ PATH中的第一个条目,因此/usr/bin需要于$ PATH /usr/local/bin

改变这个/etc/profile解决了问题。


2
程序始终使用$ PATH中的第一个条目。真正的问题似乎是您在和中两次安装yaourt/usr/usr/local
user1686 2012年

很高兴知道!您怎么知道它已安装两次?在安装新版本之前,我用pacman -Rs删除了它。
Toerndev 2012年


1

我遇到过同样的问题。问题(如其他答案中所述)是,如果您运行:

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

然后删除package-query:

[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

而且您应该很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.