我和木偶戏有问题。我无法在我的debian 8.7.1上安装它。 这些是步骤:
1.install chrome:
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
2.install nodejs&木偶:
apt-get install curl
curl -sL https://deb.nodesource.com/setup_8.x | bash -
sudo apt-get install -y nodejs
npm i puppeteer
当我运行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
我运行命令npm config set PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
以跳过下载,但它还想下载铬。
有什么想法解决这个问题?
答案 0 :(得分:2)
尝试 sudo npm install puppeteer --unsafe-perm = true
答案 1 :(得分:1)
错误:产生EACCES
这大致意味着由于权限问题,木偶操作员无法执行Chrome。如果您遇到麻烦我有docker image here您可以使用并远程互动。 Chrome和许多Linux发行版的问题在于安装是一个很难解决的问题。
答案 2 :(得分:1)
尝试以下选项;
1) npm config set puppeteer_skip_chromium_download true
2) Add puppeteer_skip_chromium_download=true to .npmrc file where the package.json location
之后运行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
答案 3 :(得分:0)
如果您已经使用了chrome,则可以使用系统变量来跳过安装
https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#environment-variables
答案 4 :(得分:0)
在使用Puppeteer时,我遇到了类似的问题。
我认为您的问题有两个部分,
1.无法下载Chromium和获取其他403 error
是
2. Error: spawn EACCES
问题
我将首先介绍Error: spawn EACCES
问题,因为它更加细腻和棘手
这是因为您的debian计算机没有安装运行Puppeteer所需的依赖项。这些依赖关系在发行版之间有所不同(CentOS,Ubuntu / Debian等)。
执行以下步骤,
npm i puppeteer
并照常进行下一步,解决您无法下载Chromium问题的情况。
您在代理人后面吗?那是我的问题。
在执行npm i puppeteer
时,我发现脚本从外部URL下载Chromium,而外部URL在您的日志中是https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/499413/chrome-linux.zip
npm
无法从此外部URL下载,因为代理阻止了它。
我解决此问题的方法是使用代理设置配置.npmrc
文件
npm config set proxy http://<proxy_username>:<proxy_passowrd>@<proxy_host>:<proxy_port>
npm config set https-proxy http://<proxy_username>:<proxy_passowrd>@<proxy_host>:<proxy_port>
注意:
bruce\wayne
,则需要对其进行URL编码为bruce%5Cwayne
,其中%5C =“ \” 示例:
npm config set proxy http://bruce%5Cwayne:darkknight@11.434.2.23:8080
npm config set https-proxy http://bruce%5Cwayne:darkknight@11.434.2.23:8080
因此,请尝试使用上述命令配置.npmrc
文件,然后尝试运行npm i puppeteer
。代理将不再阻止外部URL,您将可以下载Chromium。
让我知道这是否可行,如果您有任何疑问,请与我联系。
答案 5 :(得分:0)
我也遇到过类似的问题。最好的解决方法是使用npm init创建一个项目,然后使用命令“ npm install puppeteer --save”安装puppeteer。这样铬也可以毫无问题地安装。希望这会有所帮助。
答案 6 :(得分:0)
升级人偶版本(可选)
npm set strict-ssl false
npm config set puppeteer_skip_chromium_download true
和npm install
。
答案 7 :(得分:0)
请在.npmrc
中进行以下设置
puppeteer_download_host = https://npm.taobao.org/mirrors
或
npm config set puppeteer_download_host https://npm.taobao.org/mirrors