В чем причина ошибки NPM в firebase deploy --only функции

недавно я получил эту ошибку при попытке развернуть мои функции 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.

3 ответов


страница состояния 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"

скопируйте и вставьте вывод в конец