firebase 部署时出现 NPM 错误的原因是什么 --only 函数

What's the reason for NPM Error on firebase deploy --only functions

我最近在尝试部署我的 firebase 函数时遇到此错误。但是,自上次成功部署以来我没有更改任何依赖项...

✔  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (57.25 KB) for uploading
✔  functions: functions folder uploaded successfully
i  functions: updating Node.js 6 function firestoreEmail(us-central1)...
i  functions: updating Node.js 6 function apiMain(us-central1)...
✔  functions[apiMain(us-central1)]: Successful update operation.
⚠  functions[firestoreEmail(us-central1)]: Deployment error.
Build failed: exit status 1
npm ERR! Linux 4.4.0-133-generic
npm ERR! argv "/nodejs/bin/node" "/nodejs/bin/npm" "--global-style" "--production" "--fetch-retries=5" "--fetch-retry-factor=2" "--fetch-retry-mintimeout=1000" "install" "/workspace"
npm ERR! node v6.14.0
npm ERR! npm  v3.10.10

npm ERR! Hostname/IP doesn't match certificate's altnames: "Host: registry.npmjs.org. is not in the cert's altnames: DNS:a.sni.fastly.net, DNS:a.sni.global-ssl.fastly.net"
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /workspace/npm-debug.log



Functions deploy had errors. To continue deploying other features (such as database), run:
    firebase deploy --except functions

Error: Functions did not deploy properly.

Firebase 状态页面提到 NPM 注册表中断

https://status.firebase.google.com/incident/Functions/18033

出现中断 https://status.npmjs.org/incidents/v22ffls5cd6h - 他们建议更改您的 DNS,因为 ISP 正在缓存错误的详细信息。

运行这一行(我知道它很丑,但它有效):

dig www.npmjs.com @1.1.1.1 | tac | echo "$(grep -oP 'www\.npmjs\.com(.)+\t\K([\d\.]*)' -m 1) www.npmjs.com"

将输出复制并粘贴到 /etc/hosts 文件的末尾