Ubuntu 20.04下使用npm全局安装Puppeteer报错的原因排查
Ubuntu 20.04全局安装Puppeteer报错(npm error code 1)的成因分析
操作环境与报错信息
环境参数
- Node版本:v18.20.2
- npm版本:10.5.0
- 系统:Ubuntu 20.04
执行命令
sudo npm install puppeteer -g
报错内容
npm error code 1
npm error path /usr/local/lib/node_modules/puppeteer
npm error command failed
npm error command sh -c node install.mjs
npm error A complete log of this run can be found in: /root/.npm/_logs/2024-05-03T19_37_45_119Z-debug-0.log
可能的成因
- root权限限制:使用
sudo全局安装时,Puppeteer的安装脚本会以root身份执行,但系统默认禁止root用户运行浏览器类程序,导致Chromium下载或初始化步骤失败。 - 系统依赖缺失:Ubuntu 20.04缺少Chromium运行必需的系统库(如libnss3、libatk1.0-0、libgtk-3-0等),安装脚本检查依赖不通过,触发命令执行错误。
- 网络资源访问失败:安装脚本需要下载Chromium二进制包,若网络无法访问官方资源,或npm镜像源未同步该包,会导致下载超时或失败,进而报错。
- 全局目录权限异常:/usr/local/lib/node_modules目录的权限配置异常,或之前残留了损坏的Puppeteer安装文件,导致install.mjs无法正常读写或执行。
内容的提问来源于stack exchange,提问作者Marcelo de Moraes
相关产品推荐
相关产品推荐

