Puppeteer 安装有错误

F.M*_*F.M 2 google-chrome-headless puppeteer

我有木偶戏的问题。我无法在我的 debian 8.7.1 上安装它。这些是步骤:

1.安装镀铬:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt-get -f install
sudo dpkg -i google-chrome-stable_current_amd64.deb
Run Code Online (Sandbox Code Playgroud)

2.安装nodejs & puppeteer:

apt-get install curl
curl -sL https://deb.nodesource.com/setup_8.x | bash -
sudo apt-get install -y nodejs
npm i puppeteer
Run Code Online (Sandbox Code Playgroud)

当我运行时npm i puppeteer,错误是:

> puppeteer@0.11.0 install /root/node_modules/puppeteer
> node install.js

ERROR: Failed to download Chromium r499413! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
Error: Download failed: server returned code 403. URL:  https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/499413 /chrome-linux.zip
at ClientRequest.https.get.response (/root/node_modules/puppeteer/utils/ChromiumDownloader.js:195:21)
at Object.onceWrapper (events.js:316:30)
at emitOne (events.js:115:13)
at ClientRequest.emit (events.js:210:7)
at HTTPParser.parserOnIncomingClient (_http_client.js:565:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:116:23)
at TLSSocket.socketOnData (_http_client.js:454:20)
at emitOne (events.js:115:13)
at TLSSocket.emit (events.js:210:7)
at addChunk (_stream_readable.js:266:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! puppeteer@0.11.0 install: `node install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the puppeteer@0.11.0 install script.
npm ERR! This is probably not a problem with npm. There is likely   additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2017-10-04T12_32_37_607Z-debug.log
Run Code Online (Sandbox Code Playgroud)

我运行命令npm config set PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true跳过下载,但它想下载铬。

有什么想法可以解决这个问题吗?

小智 6

升级你的 puppeteer 版本(可选)

npm set strict-ssl false

npm config set puppeteer_skip_chromium_download true
Run Code Online (Sandbox Code Playgroud)

然后 npm install再次。


Das*_*ghe 5

尝试以下选项;

1) npm config set puppeteer_skip_chromium_download true
2) Add puppeteer_skip_chromium_download=true to .npmrc file where the package.json location
Run Code Online (Sandbox Code Playgroud)

在那之后运行 sudo npm install --unsafe-perm=true --allow-root

参考;

https://github.com/GoogleChrome/puppeteer/issues/2270
https://medium.com/forcit/seo-for-single-page-applications-8543619e1d0c
Run Code Online (Sandbox Code Playgroud)


bro*_*ess 1

错误:生成 EACCES

这大致意味着 puppeteer 由于权限问题无法执行 Chrome。如果您遇到问题,我这里有一个 docker 镜像,您可以远程使用和交互。Chrome 和许多 Linux 发行版的问题在于安装是一个很难解决的挑战。