Развертывание Firebase (Web) не удается, но эмуляторы работают. "Сбой функции при загрузке кода пользователя"

Я следую онлайн-учебнику по совместному использованию экспресса и firebase (никогда раньше не использовал firebase, но работал с некоторыми экспрессами). По какой-то причине кажется, что все работает, когда я использую firebase serve или firebase emulators:start , но когда я пытаюсь сделать firebase deploy, это не сработает. Это сработало в первый раз, когда я только начал проект, но не сейчас.

Я видел еще один вопрос относительно той же ошибки (я думаю, что он / она следовал тому же учебнику), но это не помогло.

Отображается ошибка консоли:

Function failed on loading user code. This is likely due to a bug in the user code. Error message: Error: please examine your function logs to see the error cause: https://cloud.google.com/functions/docs/monitoring/logging#viewing_logs.

Functions deploy had errors with the following functions:
        api

Error: Functions did not deploy properly.

Я добавил журналы firebase ниже. Также мой репозиторий: https://github.com/Sarman5432/SocialMediaApp/tree/master/functions.

[debug] [2020-12-19T05:48:54.719Z] ----------------------------------------------------------------------
[debug] [2020-12-19T05:48:54.722Z] Command:       C:\Program Files\nodejs\node.exe C:\Users\Sarman\AppData\Roaming\npm\node_modules\firebase-tools\lib\bin\firebase.js deploy
[debug] [2020-12-19T05:48:54.722Z] CLI Version:   9.0.1
[debug] [2020-12-19T05:48:54.722Z] Platform:      win32
[debug] [2020-12-19T05:48:54.722Z] Node Version:  v12.14.0
[debug] [2020-12-19T05:48:54.724Z] Time:          Sat Dec 19 2020 00:48:54 GMT-0500 (Eastern Standard Time)
[debug] [2020-12-19T05:48:54.724Z] ----------------------------------------------------------------------
[debug] [2020-12-19T05:48:54.724Z] 
[debug] [2020-12-19T05:48:54.734Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[debug] [2020-12-19T05:48:54.734Z] > authorizing via signed-in user
[debug] [2020-12-19T05:48:54.734Z] [iam] checking project socialmedia-5f158 for permissions ["cloudfunctions.functions.create","cloudfunctions.functions.delete","cloudfunctions.functions.get","cloudfunctions.functions.list","cloudfunctions.functions.update","cloudfunctions.operations.get","firebase.projects.get","firebasehosting.sites.update"]
[debug] [2020-12-19T05:48:54.738Z] >>> HTTP REQUEST POST https://cloudresourcemanager.googleapis.com/v1/projects/socialmedia-5f158:testIamPermissions  
 {"permissions":["cloudfunctions.functions.create","cloudfunctions.functions.delete","cloudfunctions.functions.get","cloudfunctions.functions.list","cloudfunctions.functions.update","cloudfunctions.operations.get","firebase.projects.get","firebasehosting.sites.update"]}
[debug] [2020-12-19T05:48:55.060Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:48:54 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","server-timing":"gfet4t7; dur=160","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:48:55.064Z] >>> HTTP REQUEST POST https://iam.googleapis.com/v1/projects/socialmedia-5f158/serviceAccounts/[email protected]:testIamPermissions  
 {"permissions":["iam.serviceAccounts.actAs"]}
[debug] [2020-12-19T05:48:55.365Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:48:55 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:48:55.368Z] >>> HTTP REQUEST GET https://firebase.googleapis.com/v1beta1/projects/socialmedia-5f158  
 
[debug] [2020-12-19T05:48:55.641Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:48:55 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[warn] !  functions: package.json indicates an outdated version of firebase-functions.
Please upgrade using npm install --save firebase-functions@latest in your functions directory. 
[info] 
[info] === Deploying to 'socialmedia-5f158'...
[info] 
[info] i  deploying functions, hosting 
[debug] [2020-12-19T05:48:58.992Z] > [functions] package.json contents: {
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "lint": "eslint .",
    "serve": "firebase emulators:start --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "engines": {
    "node": "12"
  },
  "main": "index.js",
  "dependencies": {
    "busboy": "^0.3.1",
    "firebase-admin": "^9.2.0",
    "firebase-functions": "^3.11.0"
  },
  "devDependencies": {
    "eslint": "^5.12.0",
    "eslint-plugin-promise": "^4.0.1",
    "firebase-functions-test": "^0.2.0"
  },
  "private": true
}
[info] i  functions: ensuring required API cloudfunctions.googleapis.com is enabled... 
[info] i  functions: ensuring required API cloudbuild.googleapis.com is enabled... 
[debug] [2020-12-19T05:49:00.832Z] >>> HTTP REQUEST GET https://serviceusage.googleapis.com/v1/projects/socialmedia-5f158/services/cloudfunctions.googleapis.com  
 
[debug] [2020-12-19T05:49:00.832Z] >>> HTTP REQUEST GET https://serviceusage.googleapis.com/v1/projects/socialmedia-5f158/services/runtimeconfig.googleapis.com  
 
[debug] [2020-12-19T05:49:00.832Z] >>> HTTP REQUEST GET https://serviceusage.googleapis.com/v1/projects/socialmedia-5f158/services/cloudbuild.googleapis.com  
 
[debug] [2020-12-19T05:49:01.274Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:01 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:01.330Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:01 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[info] +  functions: required API cloudfunctions.googleapis.com is enabled 
[debug] [2020-12-19T05:49:01.341Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:01 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[info] +  functions: required API cloudbuild.googleapis.com is enabled 
[debug] [2020-12-19T05:49:01.345Z] >>> HTTP REQUEST GET https://firebase.googleapis.com/v1beta1/projects/socialmedia-5f158/adminSdkConfig  
 
[debug] [2020-12-19T05:49:01.595Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:01 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:01.601Z] >>> HTTP REQUEST POST https://firebasehosting.googleapis.com/v1beta1/sites/socialmedia-5f158/versions  
 {"config":{"rewrites":[{"glob":"**","path":"/index.html"}]},"labels":{"deployment-tool":"cli-firebase"}}
[debug] [2020-12-19T05:49:02.410Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:02 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[info] i  functions: preparing functions directory for uploading... 
[debug] [2020-12-19T05:49:02.413Z] >>> HTTP REQUEST GET https://runtimeconfig.googleapis.com/v1beta1/projects/socialmedia-5f158/configs  
 
[debug] [2020-12-19T05:49:02.918Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:02 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:02.920Z] >>> HTTP REQUEST GET https://runtimeconfig.googleapis.com/v1beta1/projects/socialmedia-5f158/configs/api/variables  
 
[debug] [2020-12-19T05:49:03.261Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:03 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:03.264Z] >>> HTTP REQUEST GET https://runtimeconfig.googleapis.com/v1beta1/projects/socialmedia-5f158/configs/api/variables/meaurementid  
 
[debug] [2020-12-19T05:49:03.265Z] >>> HTTP REQUEST GET https://runtimeconfig.googleapis.com/v1beta1/projects/socialmedia-5f158/configs/api/variables/messagingsenderid  
 
[debug] [2020-12-19T05:49:03.265Z] >>> HTTP REQUEST GET https://runtimeconfig.googleapis.com/v1beta1/projects/socialmedia-5f158/configs/api/variables/appid  
 
[debug] [2020-12-19T05:49:03.266Z] >>> HTTP REQUEST GET https://runtimeconfig.googleapis.com/v1beta1/projects/socialmedia-5f158/configs/api/variables/key  
 
[debug] [2020-12-19T05:49:03.464Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:03 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:03.737Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:03 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:03.743Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:03 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:03.745Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:03 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[info] i  functions: packaged functions (47.16 KB) for uploading 
[debug] [2020-12-19T05:49:04.508Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/projects/socialmedia-5f158/locations/-/functions  
 
[debug] [2020-12-19T05:49:04.983Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:04 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:04.988Z] >>> HTTP REQUEST POST https://cloudfunctions.googleapis.com/v1/projects/socialmedia-5f158/locations/us-central1/functions:generateUploadUrl  
 
[debug] [2020-12-19T05:49:05.674Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:05 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:05.676Z] >>> HTTP REQUEST PUT https://storage.googleapis.com/gcf-upload-us-central1-962ccae0-e24e-4d88-b0a2-d16db2e20c76/5cf7c6db-376e-483f-8e0b-ff8032a6a9b2.zip?GoogleAccessId=service-98194542320@gcf-admin-robot.iam.gserviceaccount.com&Expires=1608358745&Signature=ZfN05IUBG8tORoQvu67AzWLhLV01cC2C2PKWNe2yNYnhASSn6moWJ6wBzNdHp7mjjP7N3iJraaeTC8Vn7FEXSJ3yi1Zn4QLzGExoi8aiWDH%2BH6AxHLSYqEzhGa6YeqJIxIgCJTg2PxjoQkirf8TwNl5Ugo4intWpfmTQx%2F1a%2BsIJ6y5Y%2Bhvi9tpAVWXGGzrs0BDrGTF1Q4VTIdh72VA3t880RuH5rea%2BtrukA97EIfj6LzKRnRahdGZPcQESJ02Zy4jiXhurO1ifYHKTeAl2ifYbWxGVZBUUqiAYQoS%2F4EMF2%2FwNvUU0PGI4MjRFgYiJzUHcXUB%2FBmUivelQ5il4fw%3D%3D  
 <request body omitted>
[debug] [2020-12-19T05:49:06.038Z] <<< HTTP RESPONSE 200 {"x-guploader-uploadid":"ABg5-UzFi8fOApFhGG39w-A4SDe0GEI1RNC22-bc1BFAJ_pyTixewDMTCF_vHTnd_0o5K_YJwSsEJxXyr-X2jmI3tbqGXyO1YA","etag":"\"144ab95f99b5aca6b19fa25003cc63f1\"","x-goog-generation":"1608356945967446","x-goog-metageneration":"1","x-goog-hash":"crc32c=X2x8dQ==, md5=FEq5X5m1rKaxn6JQA8xj8Q= = ","x-goog-stored-content-length":"48292","x-goog-stored-content-encoding":"identity","vary":"Origin","content-length":"0","date":"Sat, 19 Dec 2020 05:49:05 GMT","server":"UploadServer","content-type":"text/html; charset=UTF-8","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\""}
[info] +  functions: functions folder uploaded successfully 
[info] i  hosting[socialmedia-5f158]: beginning deploy... 
[info] i  hosting[socialmedia-5f158]: found 1 files in public 
[debug] [2020-12-19T05:49:06.065Z] > refreshing access token with scopes: []
[debug] [2020-12-19T05:49:06.065Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token  
 <request body omitted>
[debug] [2020-12-19T05:49:06.068Z] [hosting] hash cache [cHVibGlj] stored for 1 files
[debug] [2020-12-19T05:49:06.068Z] [hosting][hash queue][FINAL] {"max":3,"min":3,"avg":3,"active":0,"complete":1,"success":1,"errored":0,"retried":0,"total":1,"elapsed":7}
[debug] [2020-12-19T05:49:06.229Z] <<< HTTP RESPONSE 200 {"pragma":"no-cache","date":"Sat, 19 Dec 2020 05:49:06 GMT","cache-control":"no-cache, no-store, max-age=0, must-revalidate","expires":"Mon, 01 Jan 1990 00:00:00 GMT","content-type":"application/json; charset=utf-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","server":"scaffolding on HTTPServer2","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:06.243Z] >>> [apiv2][query] POST https://firebasehosting.googleapis.com/v1beta1/sites/socialmedia-5f158/versions/7cac918590bf79d0:populateFiles [none]
[debug] [2020-12-19T05:49:06.244Z] >>> [apiv2][body] POST https://firebasehosting.googleapis.com/v1beta1/sites/socialmedia-5f158/versions/7cac918590bf79d0:populateFiles {"files":{"/index.html":"9cf85a1fb57e777006bcf68ba0de7b72871e96c0e7ce7b72ec2267f46c5b04aa"}}
[debug] [2020-12-19T05:49:06.609Z] <<< [apiv2][status] POST https://firebasehosting.googleapis.com/v1beta1/sites/socialmedia-5f158/versions/7cac918590bf79d0:populateFiles 200
[debug] [2020-12-19T05:49:06.609Z] <<< [apiv2][body] POST https://firebasehosting.googleapis.com/v1beta1/sites/socialmedia-5f158/versions/7cac918590bf79d0:populateFiles {"uploadRequiredHashes":["9cf85a1fb57e777006bcf68ba0de7b72871e96c0e7ce7b72ec2267f46c5b04aa"],"uploadUrl":"https://upload-firebasehosting.googleapis.com/upload/sites/socialmedia-5f158/versions/7cac918590bf79d0/files"}
[debug] [2020-12-19T05:49:06.610Z] >>> [apiv2][query] POST https://upload-firebasehosting.googleapis.com/upload/sites/socialmedia-5f158/versions/7cac918590bf79d0/files/9cf85a1fb57e777006bcf68ba0de7b72871e96c0e7ce7b72ec2267f46c5b04aa [none]
[debug] [2020-12-19T05:49:06.610Z] >>> [apiv2][body] POST https://upload-firebasehosting.googleapis.com/upload/sites/socialmedia-5f158/versions/7cac918590bf79d0/files/9cf85a1fb57e777006bcf68ba0de7b72871e96c0e7ce7b72ec2267f46c5b04aa [stream]
[debug] [2020-12-19T05:49:06.611Z] [hosting][populate queue][FINAL] {"max":546,"min":546,"avg":546,"active":0,"complete":1,"success":1,"errored":0,"retried":0,"total":1,"elapsed":547}
[debug] [2020-12-19T05:49:06.611Z] [hosting] uploads queued: 1
[debug] [2020-12-19T05:49:07.406Z] <<< [apiv2][status] POST https://upload-firebasehosting.googleapis.com/upload/sites/socialmedia-5f158/versions/7cac918590bf79d0/files/9cf85a1fb57e777006bcf68ba0de7b72871e96c0e7ce7b72ec2267f46c5b04aa 200
[debug] [2020-12-19T05:49:07.406Z] <<< [apiv2][body] POST https://upload-firebasehosting.googleapis.com/upload/sites/socialmedia-5f158/versions/7cac918590bf79d0/files/9cf85a1fb57e777006bcf68ba0de7b72871e96c0e7ce7b72ec2267f46c5b04aa [stream]
[debug] [2020-12-19T05:49:07.406Z] [hosting][upload queue][FINAL] {"max":797,"min":797,"avg":797,"active":0,"complete":1,"success":1,"errored":0,"retried":0,"total":1,"elapsed":797}
[info] +  hosting[socialmedia-5f158]: file upload complete 
[debug] [2020-12-19T05:49:07.408Z] [hosting] deploy completed after 1359ms
[info] i  functions: updating Node.js 12 function api(us-central1)... 
[debug] [2020-12-19T05:49:07.691Z] Trigger is:  {"httpsTrigger":{}}
[debug] [2020-12-19T05:49:07.695Z] > refreshing access token with scopes: ["email","https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","openid"]
[debug] [2020-12-19T05:49:07.695Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token  
 <request body omitted>
[debug] [2020-12-19T05:49:07.862Z] <<< HTTP RESPONSE 200 {"pragma":"no-cache","date":"Sat, 19 Dec 2020 05:49:07 GMT","expires":"Mon, 01 Jan 1990 00:00:00 GMT","cache-control":"no-cache, no-store, max-age=0, must-revalidate","content-type":"application/json; charset=utf-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","server":"scaffolding on HTTPServer2","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:07.874Z] >>> HTTP REQUEST PATCH https://cloudfunctions.googleapis.com/v1/projects/socialmedia-5f158/locations/us-central1/functions/api {"updateMask":"sourceUploadUrl,name,labels,runtime,environmentVariables,httpsTrigger"} 
 {"sourceUploadUrl":"https://storage.googleapis.com/gcf-upload-us-central1-962ccae0-e24e-4d88-b0a2-d16db2e20c76/5cf7c6db-376e-483f-8e0b-ff8032a6a9b2.zip?GoogleAccessId=service-98194542320@gcf-admin-robot.iam.gserviceaccount.com&Expires=1608358745&Signature=ZfN05IUBG8tORoQvu67AzWLhLV01cC2C2PKWNe2yNYnhASSn6moWJ6wBzNdHp7mjjP7N3iJraaeTC8Vn7FEXSJ3yi1Zn4QLzGExoi8aiWDH%2BH6AxHLSYqEzhGa6YeqJIxIgCJTg2PxjoQkirf8TwNl5Ugo4intWpfmTQx%2F1a%2BsIJ6y5Y%2Bhvi9tpAVWXGGzrs0BDrGTF1Q4VTIdh72VA3t880RuH5rea%2BtrukA97EIfj6LzKRnRahdGZPcQESJ02Zy4jiXhurO1ifYHKTeAl2ifYbWxGVZBUUqiAYQoS%2F4EMF2%2FwNvUU0PGI4MjRFgYiJzUHcXUB%2FBmUivelQ5il4fw%3D%3D","name":"projects/socialmedia-5f158/locations/us-central1/functions/api","labels":{"deployment-tool":"cli-firebase"},"httpsTrigger":{},"runtime":"nodejs12","environmentVariables":{"FIREBASE_CONFIG":"{\"projectId\":\"socialmedia-5f158\",\"databaseURL\":\"https://socialmedia-5f158-default-rtdb.firebaseio.com\",\"storageBucket\":\"socialmedia-5f158.appspot.com\",\"locationId\":\"us-central\"}"}}
[debug] [2020-12-19T05:49:08.338Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:08 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:08.339Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/projects/socialmedia-5f158/locations/-/functions  
 
[debug] [2020-12-19T05:49:08.755Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:08 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:08.758Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c29jaWFsbWVkaWEtNWYxNTgvdXMtY2VudHJhbDEvYXBpL0ZhX21RTDdVNlgw  
 
[debug] [2020-12-19T05:49:08.925Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:08 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:10.929Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c29jaWFsbWVkaWEtNWYxNTgvdXMtY2VudHJhbDEvYXBpL0ZhX21RTDdVNlgw  
 
[debug] [2020-12-19T05:49:39.903Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:39 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-12-19T05:49:41.904Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c29jaWFsbWVkaWEtNWYxNTgvdXMtY2VudHJhbDEvYXBpL0ZhX21RTDdVNlgw  
 
[debug] [2020-12-19T05:49:42.073Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 19 Dec 2020 05:49:42 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}

В Stack Overflow не ссылайтесь на код. Скопируйте соответствующий код в вопрос. Кроме того, важно сократить этот код до минимально полного примера, который не работает так, как вы ожидаете.

Doug Stevenson 19.12.2020 07:09
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
0
1
582
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

functions: package.json indicates an outdated version of firebase-functions. Попробуйте обновить firebase-function через менеджер пакетов npm для начала.

Во-вторых, для функций в Firebase потребуется Blaze Plan из-за создания облака, пожалуйста, убедитесь, что это включено — я настоятельно рекомендую настроить оповещение о ценах, если это небольшой личный проект.

Также убедитесь, что вы используете Node12 в файле package.json, так как предыдущие версии Node больше не будут работать с Firebase в будущем (прочитайте что-нибудь об этом, если возникла та же проблема). Просто чтобы уточнить, насколько мне известно, для развертывания кода Node12 также требуется Blaze Plan.

Наконец, убедитесь, что вы разбили свой проект на модули, вызвав несколько разных версий app, вы можете сделать это, создав новый экспресс-экземпляр, например: const someEndpoints1 = express() + const someEndpoints2 = express(), а затем соответствующим образом маршрутизируя; так как наличие нескольких маршрутов в одном приложении вызвало эту проблему для меня.

Пожалуйста, дайте мне знать, если это устранило какие-либо проблемы и / или вы получаете альтернативный вывод.

Я обновил функции firebase, и в package.json написано node: 12. Все еще не работает... firebase serve и firebase emulators:start оба работают нормально. Кроме того, Да, я подключен к плану Blaze (поэтому функции работают в сервисе/эмуляторах).

swazzy123 19.12.2020 23:19

Обновление: я получил его для развертывания один раз, когда я переставил admin.initializeApp так, чтобы он находился в index.js, и все маршруты, начинающиеся с index.js (т.е. без использования express.Router()). Однако это не то, как я хочу организовать свой код, поэтому я все еще сталкиваюсь с некоторыми проблемами, пытаясь снова развернуть. Дам знать, если у меня получится

swazzy123 20.12.2020 00:24

Я понял!!!!! Мне не хватало зависимости в моих функциях package.json (я установил npm в папку проекта, а не в папку функций, LOL).

swazzy123 20.12.2020 00:55

Приятно слышать Сарман! Рад, что смог помочь :)

Cameron 24.12.2020 20:39

@sarmanaulakh вы можете отметить этот вопрос как ответ, поскольку вы нашли решение :)

Cameron 07.01.2021 23:21

Другие вопросы по теме