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的下载流程:
- 在当前命令行窗口临时设置环境变量:
set PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true - 重新执行安装命令:
npm install -g polymer-cli@next --no-optional
这样就能顺利完成polymer-cli的安装,就像你最后输出的那样,虽然会有puppeteer相关的警告,但完全不影响cli的基础使用。
永久解决:手动指定Chromium路径
如果之后需要用到依赖puppeteer的功能,可以按以下步骤操作:
- 手动下载对应版本的Chromium(错误日志里标注的是r549031,你可以通过Chromium镜像渠道找到对应版本的Windows安装包)
- 解压后找到
chrome.exe(或chromium.exe)的完整路径 - 设置环境变量指定该路径:
要是想让这个设置永久生效,可以去Windows「系统属性-高级-环境变量」里添加对应的系统变量。set PUPPETEER_EXECUTABLE_PATH=C:\path\to\your\chromium.exe
附上你遇到的完整错误日志供参考:
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




