You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows安装polymer-cli@3时遇Chromium下载失败问题求助

解决Windows下安装polymer-cli@next时Chromium下载失败的问题

我之前在Windows上安装polymer-cli预览版(@next)时也碰到过一模一样的问题!报错核心是polymer-cli依赖的puppeteer工具无法下载Chromium r549031,本质是网络访问不了Google的存储服务器storage.googleapis.com导致的。下面是亲测有效的解决步骤:

临时解决:跳过Chromium下载

如果暂时用不到puppeteer的PDF生成相关功能,可以直接跳过Chromium的下载流程:

  1. 在当前命令行窗口临时设置环境变量:
    set PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
    
  2. 重新执行安装命令:
    npm install -g polymer-cli@next --no-optional
    

这样就能顺利完成polymer-cli的安装,就像你最后输出的那样,虽然会有puppeteer相关的警告,但完全不影响cli的基础使用。

永久解决:手动指定Chromium路径

如果之后需要用到依赖puppeteer的功能,可以按以下步骤操作:

  1. 手动下载对应版本的Chromium(错误日志里标注的是r549031,你可以通过Chromium镜像渠道找到对应版本的Windows安装包)
  2. 解压后找到chrome.exe(或chromium.exe)的完整路径
  3. 设置环境变量指定该路径:
    set PUPPETEER_EXECUTABLE_PATH=C:\path\to\your\chromium.exe
    
    要是想让这个设置永久生效,可以去Windows「系统属性-高级-环境变量」里添加对应的系统变量。

附上你遇到的完整错误日志供参考:

C:\dev\polymer2\sample>npm install -g polymer-cli@next --no-optional
C:\Users\my-user\AppData\Roaming\npm\polymer -> C:\Users\my-user\AppData\Roaming\npm\node_modules\polymer-cli\bin\polymer.js

> puppeteer@1.3.0 install C:\Users\my-user\AppData\Roaming\npm\node_modules\polymer-cli\node_modules\puppeteer
> node install.js

ERROR: Failed to download Chromium r549031! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
{ Error: getaddrinfo ENOTFOUND storage.googleapis.com storage.googleapis.com:443
    at errnoException (dns.js:50:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
  code: 'ENOTFOUND',
  errno: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'storage.googleapis.com',
  host: 'storage.googleapis.com',
  port: 443 }
npm WARN rollback Rolling back debug@3.1.0 failed (this is probably harmless):
EPERM: operation not permitted, scandir 'C:\Users\my-user\AppData\Roaming\npm\node_modules\polymer-cli\node_modules\puppeteer\node_modules\https-proxy-agent\node_modules'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.3 (node_modules\polymer-cli\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: puppeteer@1.3.0 (node_modules\polymer-cli\node_modules\puppeteer):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: puppeteer@1.3.0 install: `node install.js`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

+ polymer-cli@1.7.0-pre.17
updated 1 package in 15.762s

C:\dev\polymer2\sample>polymer --version
1.7.0-pre.17

内容的提问来源于stack exchange,提问作者Jim C

火山引擎 最新活动