Я следую онлайн-учебнику по совместному использованию экспресса и 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"}
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 (поэтому функции работают в сервисе/эмуляторах).
Обновление: я получил его для развертывания один раз, когда я переставил admin.initializeApp так, чтобы он находился в index.js, и все маршруты, начинающиеся с index.js (т.е. без использования express.Router()). Однако это не то, как я хочу организовать свой код, поэтому я все еще сталкиваюсь с некоторыми проблемами, пытаясь снова развернуть. Дам знать, если у меня получится
Я понял!!!!! Мне не хватало зависимости в моих функциях package.json (я установил npm в папку проекта, а не в папку функций, LOL).
Приятно слышать Сарман! Рад, что смог помочь :)
@sarmanaulakh вы можете отметить этот вопрос как ответ, поскольку вы нашли решение :)
В Stack Overflow не ссылайтесь на код. Скопируйте соответствующий код в вопрос. Кроме того, важно сократить этот код до минимально полного примера, который не работает так, как вы ожидаете.