Linux安装Node.js 18时遭遇dpkg文件覆盖错误求助
解决Linux下安装Node.js时的dpkg覆盖文件错误
错误信息:
0 个已升级,1 个新安装,0 个要移除,3 个未升级。 需要获取 0 B/28.7 MB 的归档文件。 此操作完成后,将额外使用 187 MB 的磁盘空间。 (正在读取数据库... 当前已安装 378127 个文件和目录。) 准备解压 .../nodejs_18.16.1-deb-1nodesource1_amd64.deb ... 正在解压 nodejs (18.16.1-deb-1nodesource1) ... dpkg: 处理归档 /var/cache/apt/archives/nodejs_18.16.1-deb-1nodesource1_amd64.deb (--unpack) 时出错: 试图覆盖 '/usr/share/systemtap/tapset/node.stp',该文件同时属于包 libnode72:amd64 12.22.9~dfsg-1ubuntu3 处理时有错误发生: /var/cache/apt/archives/nodejs_18.16.1-deb-1nodesource1_amd64.deb E: 子进程 /usr/bin/dpkg 返回错误代码 (1)
问题原因:
nodesource源提供的Node.js包与系统自带的libnode72包存在文件冲突,两者都包含/usr/share/systemtap/tapset/node.stp文件,导致dpkg无法完成安装。
解决方案:
方法一:强制覆盖冲突文件
执行以下命令强制覆盖冲突文件完成安装,之后修复依赖:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/nodejs_18.16.1-deb-1nodesource1_amd64.deb sudo apt-get -f install
方法二:卸载冲突包后重新安装
先移除冲突的libnode72包,再安装Node.js:
sudo apt remove libnode72 sudo apt install nodejs
方法三:清理缓存后重试
如果上述方法无效,清理apt缓存后重新执行安装:
sudo apt clean sudo apt update sudo apt install nodejs
内容的提问来源于stack exchange,提问作者Shantanu Singh
相关产品推荐
相关产品推荐

