npm 错误:无法下载Chromium r686378!设置“PUPPETEER_SKIP_CHROMIUM_DOWNLOAD”env变量以跳过下载

umuewwlo  于 2023-08-06  发布在  其他
关注(0)|答案(6)|浏览(711)

我试图安装react-snap使用这个命令'sudo npm install --save-dev react-snap'在ubuntu 18它给予我的错误

ERROR: Failed to download Chromium r686378! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.

字符串
搜索后,我将得到运行此命令的解决方案

sudo npm install -g puppeteer --unsafe-perm=true --allow-root


运行此命令后仍然,我面临这个错误,我的React版本是16.8

ERROR: Failed to download Chromium r686378! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! puppeteer@1.20.0 install: `node install.js`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the puppeteer@1.20.0 install script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

oxf4rvwz

oxf4rvwz1#

最好的方法是导出默认的env var PUPPETEER_SKIP_CHROMIUM_DOWNLOAD

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true yarn add puppeteer or
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install puppeteer

字符串

50few1ms

50few1ms2#

我通过使用以下命令手动安装Chromium来修复它:

node node_modules/puppeteer/install.js

字符串

khbbv19g

khbbv19g3#

我有同样的问题与puppeteer@1.20安装时,试图运行npm i aws-azure-login在mac上,在做sudo npm install -g puppeteer --unsafe-perm=true --allow-root。Puppeteer似乎没有为所有用户全局安装执行权限,因此您需要修改它们(https://libraries.io/npm/aws-azure-login)。你可以试试sudo chmod -R go+rx $(npm root -g)
我终于让aws-azure-login安装没有任何问题,通过更改npm默认行为在我的主目录中安装全局软件包:

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.profile
source ~/.profile

字符串
请参阅https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

wwtsj6pe

wwtsj6pe4#

PS C:\Users\myuser> $env:PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=0
PS C:\Users\myuser> npm install  puppeteer --unsafe-perm=true --allow-root

字符串
在我的本地windows10上工作。类似问题https://github.com/puppeteer/puppeteer/issues/2173

w3nuxt5m

w3nuxt5m5#

在我们的例子中,当我们尝试使用npm install安装**“aws-azure-login”**时,我们的企业proxy客户端试图通过提供自己的自签名证书来检查SSL流量,该证书在我的本地信任库中受到信任。因此,我们必须使用OpenSSL命令下载这些CAcert,并使用“NODE_EXTRA_CA_CERTS”参数指定额外的下载证书路径,我们能够在我的MacOS上下载并安装 puppet 。
以下是步骤:
1.下载企业代理在我们尝试连接到任何域[storage.googleapis.com]时提供的CAcert。

> openssl s_client -showcerts -verify 5 -servername storage.googleapis.com -connect storage.googleapis.com:443 < /dev/null | awk '/BEGIN/,/END/{ if(/BEGIN/){a++}; out="cert"a".crt"; print >out}' && for cert in *.crt; do newname=$(openssl x509 -noout -subject -in $cert | sed -n 's/^.*CN=\(.*\)$/\1/; s/[ ,.*]/_/g; s/__/_/g; s/^_//g;p').pem; mv $cert $newname; done

字符串
1.上述命令将下载代理的所有域、中间和根证书。将所有证书连接到单个PEM文件中。
cat domain1.crt intermediate.crt root.crt >extra_cacert.pem
1.使用npm安装puppeteer时指定NODE_EXTRA_CA_CERTS参数
NODE_EXTRA_CA_CERTS=./extra_cacert.pem node/Users/velayutham/aws-azure-login/node_modules/puppeteer/install.js

  • 以上步骤已在MacOS中测试!!!*****
v7pvogib

v7pvogib6#

如果你使用的是docker,把这个添加到你的dockerfile中:

# Tell Puppeteer to skip installing Chrome. We'll be using the installed package.
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true

# Install Puppeteer @latest version.
RUN npm i puppeteer@latest

字符串

相关问题