安装openssl后pacman与yay提示OPENSSL版本缺失,如何解决?
解决OpenSSL版本不兼容导致pacman/yay报错问题
问题场景
安装openssl后,执行pacman -Sy或yay -Sy时触发依赖版本缺失错误,具体报错如下:
pacman: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libalpm.so.13) pacman: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libarchive.so.13) pacman: /usr/lib/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/libcurl.so.4) pacman: /usr/lib/libssl.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libcurl.so.4) pacman: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libcurl.so.4) pacman: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/libssh2.so.1) pacman: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libssh2.so.1)
yay: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libalpm.so.13) yay: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libarchive.so.13) yay: /usr/lib/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/libcurl.so.4) yay: /usr/lib/libssl.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libcurl.so.4) yay: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libcurl.so.4) yay: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/libssh2.so.1) yay: /usr/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/lib/libssh2.so.1)
解决方案
方法1:临时指定库路径修复pacman(优先推荐)
此方法不修改系统默认库配置,通过临时加载兼容的OpenSSL 1.1库让pacman正常运行,全系统更新后自动解决依赖问题:
- 下载Arch官方提供的
openssl-1.1兼容包(以下为x86_64架构版本,其他架构请替换对应包):curl -O https://archive.archlinux.org/packages/o/openssl-1.1/openssl-1.1-1.1.1w-1-x86_64.pkg.tar.zst - 解压包到临时目录,提取库文件:
mkdir -p /tmp/openssl-libs tar -xf openssl-1.1-1.1.1w-1-x86_64.pkg.tar.zst -C /tmp/openssl-libs - 临时指定库路径运行pacman,执行全系统更新:
LD_LIBRARY_PATH=/tmp/openssl-libs/usr/lib pacman -Syu - 更新完成后清理临时文件:
rm -rf /tmp/openssl-libs openssl-1.1-1.1.1w-1-x86_64.pkg.tar.zst
方法2:强制安装openssl-1.1兼容包
如果方法1无法执行,可直接强制安装兼容包恢复依赖:
- 下载上述
openssl-1.1包后,用pacman本地强制安装:pacman -U --force openssl-1.1-1.1.1w-1-x86_64.pkg.tar.zst - 安装完成后立即执行全系统更新:
pacman -Syu - 系统更新完成后,若确认所有软件已适配OpenSSL 3.x,可移除兼容包:
pacman -Rns openssl-1.1
关键说明
- 全系统更新后,yay等AUR助手的依赖问题会自动修复,无需单独操作。
- 非x86_64架构用户需到Arch官方归档仓库下载对应架构的
openssl-1.1包。
内容的提问来源于stack exchange,提问作者jazz_man07
相关产品推荐
相关产品推荐

