修复 yay 提示 “error while loading shared libraries: libalpm.so.*” 的错误
在 Arch/Arch 衍生发行版上运行 yay 时,出现如下错误:
yay: error while loading shared libraries: libalpm.so.*: cannot open shared object file: No such file or directory
这个问题通常出现在系统升级后,pacman 更新到了新的 libalpm 版本,而本地的 yay 还是链接到旧版 libalpm.so。只要让 yay 重新与当前系统的 libalpm 同步即可。
快速修复方案
更新系统 并删除yay
sudo pacman -Syu
sudo pacman -Rns yay
若发行版的官方仓库里有打包好的 yay(部分衍生版会提供),可直接安装。
sudo pacman -S yay # 仅当仓库提供 yay 时可用
若提示找不到 yay 包,属于正常情况,请使用下节的 AUR 构建方式。
从 AUR 重建 yay
- 准备构建环境(只需一次)
sudo pacman -S --needed base-devel git
- 获取并构建 yay
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
makepkg -si 会重新编译并安装 yay,确保它与当前系统的 libalpm 版本匹配。
验证
确认 yay 命令存在并能正常输出版本信息:
yay --version
测试一次简单的搜索(不会真正安装任何东西):
yay -Ss yay
能正常列出搜索结果且无 libalpm.so.15 相关报错,说明修复已生效;若仍提示找不到 libalpm.so.15,请重新检查是否确实删除了旧版 yay 并用 AUR 重新构建安装。