Ubuntu 18.04.5 LTS安装NodeJS14/16时NO_PUBKEY缺失错误如何解决
根因说明
你遇到的GPG报错与NodeJS安装本身无关,是你系统中已配置的Parity软件源公钥验证失败。NodeSource的安装脚本执行时会先运行sudo apt-get update拉取最新源信息,该操作只要遇到任意源报错就会直接终止,导致NodeJS安装流程中断。
解决方案
方案1:修复Parity源密钥问题
你之前导入密钥失败是因为密钥服务器返回的Parity公钥与源签名所需密钥不匹配,直接从Parity源拉取公钥导入即可:
curl -fsSL https://releases.parity.io/gpg.key | sudo apt-key add -
导入完成后先执行更新确认无报错:
sudo apt-get update
更新正常后再执行原NodeJS安装命令即可:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - && sudo apt-get install -y nodejs
方案2:临时禁用Parity源安装Node(不需要使用Parity相关软件可选择此方案)
Parity源配置文件默认存放在/etc/apt/sources.list.d/目录下,文件名为parity.list,执行以下命令重命名禁用该源:
sudo mv /etc/apt/sources.list.d/parity.list /etc/apt/sources.list.d/parity.list.bak
之后直接执行NodeJS安装命令即可,安装完成后如果需要恢复Parity源,执行以下命令即可:
sudo mv /etc/apt/sources.list.d/parity.list.bak /etc/apt/sources.list.d/parity.list
方案3:使用二进制包直接安装(完全绕过系统源限制)
如果不想处理系统源问题,可以直接下载NodeJS官方预编译二进制包安装:
- 下载Node16安装包:
wget https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz
- 解压到系统目录:
sudo tar -xJf node-v16.20.2-linux-x64.tar.xz -C /usr/local --strip-components=1
- 验证安装:
node -v npm -v
内容的提问来源于stack exchange,提问作者Aviral Srivastava
相关产品推荐
相关产品推荐

