You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dnf更新Node.js时遭遇GPG密钥校验错误的解决求助

使用dnf更新Node.js时遭遇GPG密钥校验错误的解决求助

嘿,我最近在服务器上用sudo dnf update把Node.js从v20.10.0升级到v20.12.2的时候碰到了GPG校验失败的问题,错误信息如下:

Node.js Packages for Linux RPM based distros - x86_64 1.6 MB/s | 1.7 kB 00:00
GPG key at file:///etc/pki/rpm-gpg/NODESOURCE-NSOLID-GPG-SIGNING-KEY-EL (0x9B1BE0B4) is already installed
The GPG keys listed for the "Node.js Packages for Linux RPM based distros - x86_64" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.. Failing package is: nodejs-2:20.12.2-1nodesource.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/NODESOURCE-NSOLID-GPG-SIGNING-KEY-EL
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: GPG check FAILED

我整理了几个可行的解决思路,你可以按顺序试试看:

  • 重新导入正确的Nodesource GPG密钥
    看起来当前用的是NSOLID的密钥,和标准Node.js仓库不匹配。先删除旧密钥,再导入官方最新的:

    sudo rpm -e gpg-pubkey-9b1be0b4-*
    sudo curl -fsSL https://rpm.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
    
  • 清理DNF缓存后重试更新
    缓存的旧包可能也会导致校验问题,先清理再单独更新Node.js:

    sudo dnf clean packages
    sudo dnf update nodejs
    
  • 检查仓库配置文件的密钥路径
    打开Nodesource的repo配置文件(一般在/etc/yum.repos.d/nodesource.repo),确认gpgkey字段指向的是刚导入的新密钥路径file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL,如果是旧的NSOLID路径就修改保存,之后再尝试更新。

我自己试了第一个方法就解决了问题,希望这些方案能帮你搞定这个GPG校验错误~

备注:内容来源于stack exchange,提问作者Chronocide

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 10:05:31