Firebase-tools: # рдХрд╛ рдЧреБрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛<object>рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдЧрдЯрд░ рд╣реИ</object>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдордИ 2020  ┬╖  35рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: firebase/firebase-tools

[рдЖрд╡рд╢реНрдпрдХ] рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рдЬрд╛рдирдХрд╛рд░реА

рдлрд╛рдпрд░рдмреЗрд╕ -рдЯреВрд▓реНрд╕: 8.4.0

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: рд╡рд┐рдВрдбреЛрдЬ

[рдЖрд╡рд╢реНрдпрдХ] рдЯреЗрд╕реНрдЯ рдХреЗрд╕

index.js

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.testFunction = functions.https.onRequest(async (req, res) => {

  console.log(req.body);

});

[рдЖрд╡рд╢реНрдпрдХ] рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрдиреБрдХрд░рдг рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдФрд░ рдмрд╛рдж рдХреЗ рдЪрд┐рддреНрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ
рд╕рдорд╛рд░реЛрд╣ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЕрдм рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИред

рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ:

i  emulators: Starting emulators: functions
+  functions: Using node<strong i="23">@10</strong> from host.
i  functions: Watching "D:\path\to\functions" for Cloud Functions...
!  functions: Cannot set property config of #<Object> which has only a getter
!  Your function was killed because it raised an unhandled error.

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖред рдбреАрдмрдЧ рд▓реЙрдЧ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВред

[рдЖрд╡рд╢реНрдпрдХ] рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░


рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

[рдЖрд╡рд╢реНрдпрдХ] рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░


рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ

emulator-suite functions bug

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдлрд┐рдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг 8.4.1 firebase-tools рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рд╕рднреА 35 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@ boddy33 рд╣реБрд╣ рдареАрдХ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реИред рдХреНрдпрд╛ firebase-debug.log рдмрд┐рд▓реНрдХреБрд▓ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ? рдпрд╛ рдпрджрд┐ рдЖрдк --debug рд╕рд╛рде рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ?

рдПрдореБрд▓реЗрдЯрд░ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЗрд╕рдХрд╛ рдмрдЧ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

[debug] [2020-05-28T19:48:29.510Z] ----------------------------------------------------------------------
[debug] [2020-05-28T19:48:29.511Z] Command:       /path/to/node-v12.16.3-darwin-x64/bin/node /path/to/node/bin/firebase functions:shell
[debug] [2020-05-28T19:48:29.511Z] CLI Version:   8.4.0
[debug] [2020-05-28T19:48:29.512Z] Platform:      darwin
[debug] [2020-05-28T19:48:29.512Z] Node Version:  v12.16.3
[debug] [2020-05-28T19:48:29.512Z] Time:          Thu May 28 2020 20:48:29 GMT+0100 (British Summer Time)
[debug] [2020-05-28T19:48:29.512Z] ----------------------------------------------------------------------
[debug] [2020-05-28T19:48:29.512Z] 
[debug] [2020-05-28T19:48:29.518Z] > 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-05-28T19:48:29.519Z] > authorizing via signed-in user
[debug] [2020-05-28T19:48:29.519Z] [iam] checking project firebase-project for permissions ["firebase.projects.get"]
[debug] [2020-05-28T19:48:29.521Z] >>> HTTP REQUEST POST https://cloudresourcemanager.googleapis.com/v1/projects/firebase-project:testIamPermissions  
 {"permissions":["firebase.projects.get"]}
[debug] [2020-05-28T19:48:30.208Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Thu, 28 May 2020 19:48:30 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","server-timing":"gfet4t7; dur=563","alt-svc":"h3-27=\":443\"; ma=2592000,h3-25=\":443\"; ma=2592000,h3-T050=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q049=\":443\"; ma=2592000,h3-Q048=\":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] тЪа  Your requested "node" version "10" doesn't match your global version "12" {"metadata":{"emulator":{"name":"functions"},"message":"Your requested \"node\" version \"10\" doesn't match your global version \"12\""}}
[debug] [2020-05-28T19:48:30.226Z] [functions] Watching "/path/to/app" for Cloud Functions...
[debug] [2020-05-28T19:48:30.233Z] DEBUG: [worker-pool] addWorker(~diagnostic~)
[debug] [2020-05-28T19:48:30.234Z] DEBUG: [worker-pool] Adding worker with key ~diagnostic~, total=1
[debug] [2020-05-28T19:48:30.234Z] DEBUG: [worker-pool] submitWork(triggerId=)
[debug] [2020-05-28T19:48:30.234Z] DEBUG: [worker-~diagnostic~-2336cd45-d0fd-4176-8826-39b0820a42c8]: Assigning socketPath: /var/folders/5v/7080hjcx6vb_d52z1clvxqd80000gn/T/fire_emu_24604.sock
[debug] [2020-05-28T19:48:30.234Z] DEBUG: [worker-~diagnostic~-2336cd45-d0fd-4176-8826-39b0820a42c8]: BUSY
[debug] [2020-05-28T19:48:30.430Z] DEBUG: [runtime-status] [24604] Functions runtime initialized. {"cwd":"/path/to/app","node_version":"12.16.3"}
[debug] [2020-05-28T19:48:30.431Z] DEBUG: [runtime-status] [24604] Disabled runtime features: undefined
[debug] [2020-05-28T19:48:30.434Z] DEBUG: [runtime-status] [24604] Resolved module firebase-admin {"declared":true,"installed":true,"version":"8.12.1","resolution":"/path/to/app/node_modules/firebase-admin/lib/index.js"}
[debug] [2020-05-28T19:48:30.440Z] DEBUG: [runtime-status] [24604] Resolved module firebase-functions {"declared":true,"installed":true,"version":"3.6.2","resolution":"/path/to/app/node_modules/firebase-functions/lib/index.js"}
[debug] [2020-05-28T19:48:30.441Z] DEBUG: [runtime-status] [24604] Outgoing network have been stubbed. [{"name":"http","status":"mocked"},{"name":"http","status":"mocked"},{"name":"https","status":"mocked"},{"name":"https","status":"mocked"},{"name":"net","status":"mocked"}]
[debug] [2020-05-28T19:48:30.499Z] DEBUG: [runtime-status] [24604] Checked functions.config() {"config":{}}
[debug] [2020-05-28T19:48:30.499Z] DEBUG: [runtime-status] [24604] Error in handleMessage: {"frb":{"cwd":"/path/to/app","projectId":"firebase-project","triggerId":"","emulators":{},"socketPath":"/var/folders/5v/7080hjcx6vb_d52z1clvxqd80000gn/T/fire_emu_24604.sock"},"opts":{"nodeBinary":"/path/to/node-v12.16.3-darwin-x64/bin/node"}} => TypeError: Cannot set property config of #<Object> which has only a getter: TypeError: Cannot set property config of #<Object> which has only a getter
    at /path/to/node-v12.16.3-darwin-x64/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:455:19
    at Generator.next (<anonymous>)
    at fulfilled (/path/to/node-v12.16.3-darwin-x64/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:5:58)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
[warn] тЪа  functions: Cannot set property config of #<Object> which has only a getter {"metadata":{"emulator":{"name":"functions"},"message":"Cannot set property config of #<Object> which has only a getter"}}
[warn] тЪа  Your function was killed because it raised an unhandled error. {"metadata":{"emulator":{"name":"functions"},"message":"Your function was killed because it raised an unhandled error."}}
[debug] [2020-05-28T19:48:30.504Z] DEBUG: [worker-~diagnostic~-2336cd45-d0fd-4176-8826-39b0820a42c8]: exited
[debug] [2020-05-28T19:48:30.504Z] DEBUG: [worker-~diagnostic~-2336cd45-d0fd-4176-8826-39b0820a42c8]: FINISHED

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ v8.16.2 рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП v8.xx рдбрд╛рдЙрдирдЧреНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдЬ рдХреЗ рдлрд╛рдпрд░рдмреЗрд╕-рдлрд╝рдВрдХреНрд╢рдВрд╕ рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
https://github.com/firebase/firebase-functions/releases/tag/v3.6.2

рдореБрдЭреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, v8.xx рдПрдореБрд▓реЗрдЯрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ (рдФрд░ v8.4.0 рдПрдХ рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред

рдирдорд╕реНрддреЗ,
рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИ :)

рдзрдиреНрдпрд╡рд╛рдж @ uditha-atukorala рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :)

рдЬрдм рдЖрдк рдкреИрдХреЗрдЬ рдлрд╛рдпрд░рдмрд╕[email protected] рддрдм рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
HTTP рдЕрдиреБрд░реЛрдз рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

# 2302 рдореЗрдВ рдлрд┐рдХреНрд╕ рдЖ рд░рд╣рд╛ рд╣реИ ... рдпрджрд┐ рдпрд╣ рд╕реНрд╡реАрдХреГрдд рд╣реИ рдФрд░ рд╡рд┐рд▓рдп рд╣реЛ рдЧрдпрд╛ рд╣реИ рддреЛ рд╣рдо ASAP рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ

рдареАрдХ рдЙрд╕реА рдЕрдВрдХ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдореИрдХ рдУ рдПрд╕

рдЗрд╕рдиреЗ рдореБрдЭреЗ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд░реЛрдХ рджрд┐рдпрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ boddy33 рдХреЗ рд╕рдорд╛рди index.js рдФрд░ рдпрд╣ рддрдм рднреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм index.js рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдореЗрд░рд╛ рдлрд╛рдпрд░рдмреЗрд╕-рдбрд┐рдмрдЧ.рд▓реЙрдЧ рд╣реИ:

[debug] [2020-05-28T19:54:42.206Z] [runtime-status] [27226] Checked functions.config() {"config":{}} 
[debug] [2020-05-28T19:54:42.206Z] [runtime-status] [27226] Error in handleMessage: {"frb":{"cwd":"/Users/aprilpolubiec/Documents/my-project/functions","projectId":"my-project","triggerId":"","emulators":{},"socketPath":"/var/folders/sh/fsnv9b8n29713r9d3kj_7w4c0000gn/T/fire_emu_27226.sock"},"opts":{"nodeBinary":"/Users/aprilpolubiec/.nvm/versions/node/v13.7.0/bin/node"}} => TypeError: Cannot set property config of #<Object> which has only a getter: TypeError: Cannot set property config of #<Object> which has only a getter
    at /Users/aprilpolubiec/.nvm/versions/node/v13.7.0/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:457:19
    at Generator.next (<anonymous>)
    at fulfilled (/Users/aprilpolubiec/.nvm/versions/node/v13.7.0/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:5:58)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) 
[warn] тЪа  functions: Cannot set property config of #<Object> which has only a getter
[warn] тЪа  Your function was killed because it raised an unhandled error.

рд╣рдо рдЕрдиреБрдореЛрджрди рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИрдВ

рдпрд╣ рдлрд┐рдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг 8.4.1 firebase-tools рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдЙрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж ... рдмрд╕ рд╕рдордп рдореЗрдВ

рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдзрдиреНрдпрд╡рд╛рджред

рдирдорд╕реНрддреЗ
рд▓рдЧрднрдЧ 2 рджрд┐рди рдкрд╣рд▓реЗ рдореИрдВ рдХрд╛рд░реНрдп рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╣реЛ рдЧрдпрд╛, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХрд▓ рд╕реЗ рдореИрдВ рддреИрдирд╛рддреА рдирд╣реАрдВ рдХрд░ рдкрд╛ рд░рд╣рд╛ рд╣реВрдБред рдореЗрд░реЗ рдкрд╛рд╕ рдХрд╛рдлреА рдкреБрд░рд╛рдиреЗ рдкреИрдХреЗрдЬ рдереЗ:

    "firebase": "^5.9.2",
    "firebase-admin": "~8.9.0",
    "firebase-functions": "^3.3.0",
    "firebase-tools": "^4.0.0",

рдФрд░ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓ рд░рд╣рд╛ рдерд╛:
image

рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ (- рд╕рдВрд░рдХреНрд╖рдг) рдХрд╛рд░реНрдп рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

рдЖрдЬ рдореИрдВрдиреЗ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдПрдХ рд╣реЙрдЯрдлрд╝рд┐рдХреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЕрдм рдореБрдЭреЗ рдПрдХ рдирдпрд╛ рдмрдЧ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЬреИрд╕рд╛ рд╣реИред

    "firebase": "^7.14.5",
    "firebase-admin": "~8.10.0",
    "firebase-functions": "^3.6.2",
    "firebase-tools": "^8.4.1",
[2020-05-29T09:30:46.002Z] [runtime-status] [42525] Error in handleMessage: {"frb":{"cwd":"/Users/jakub.jodelka/xxxProject/backend","projectId":"xxxProject","triggerId":"","emulators":{},"socketPath":"/var/folders/nj/4g6vwdm90bl4tmktf8hpn__00000gp/T/fire_emu_42525.sock"},"opts":{"nodeBinary":"/usr/local/bin/firebase"}} => TypeError: Cannot set property config of #<Object> which has only a getter: TypeError: Cannot set property config of #<Object> which has only a getter
    at /Users/jakub.jodelka/.cache/firebase/tools/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:455:19
    at Generator.next (<anonymous>)
    at fulfilled (/Users/jakub.jodelka/.cache/firebase/tools/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:5:58)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) 
тЪа  functions: Cannot set property config of #<Object> which has only a getter
тЪа  Your function was killed because it raised an unhandled error.

рдореИрдВ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рднреА рдирд╣реАрдВ рд╕рдХрддрд╛ред

рдпрд╣ рдлрд┐рдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг 8.4.1 firebase-tools рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдореЗрд░реЗ рдХрд╛рд░реНрдп рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП

@samtstern ^
рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдмрдВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред

@jakubjodelka рдЖрдк рдЕрдкрдиреЗ node_modules рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдФрд░ npm install рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЕрдЧрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рднреА рдЖрдкрдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ firebase --version 8.4.1 рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред

рдзрдиреНрдпрд╡рд╛рджред рдореЗрд░реЗ рд▓рд┐рдП рдЕрдм рдХрд╛рдо рдХрд░рдирд╛ред

[2020-05-29T14:38:16.042Z] > 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"]
[2020-05-29T14:38:16.043Z] > authorizing via signed-in user
[2020-05-29T14:38:16.044Z] [iam] checking project bryn-todoapp-27e80 for permissions ["firebase.projects.get"]
[2020-05-29T14:38:16.047Z] >>> HTTP REQUEST POST https://cloudresourcemanager.googleapis.com/v1/projects/bryn-todoapp-27e80:testIamPermissions
 {"permissions":["firebase.projects.get"]}
[2020-05-29T14:38:16.314Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Fri, 29 May 2020 14:38:16 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","server-timing":"gfet4t7; dur=117","alt-svc":"h3-27=\":443\"; ma=2592000,h3-25=\":443\"; ma=2592000,h3-T050=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q049=\":443\"; ma=2592000,h3-Q048=\":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"}
[2020-05-29T14:38:16.316Z] >>> HTTP REQUEST GET https://firebase.googleapis.com/v1beta1/projects/bryn-todoapp-27e80  

[2020-05-29T14:38:16.590Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Fri, 29 May 2020 14:38:16 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-27=\":443\"; ma=2592000,h3-25=\":443\"; ma=2592000,h3-T050=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q049=\":443\"; ma=2592000,h3-Q048=\":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"}

=== Serving from 'C:\Users\Bryn\Desktop\bryn-todoapp'...

+  functions: Using node<strong i="5">@10</strong> from host. {"metadata":{"emulator":{"name":"functions"},"message":"Using node<strong i="6">@10</strong> from host."}}
i  functions: Watching "C:\Users\Bryn\Desktop\bryn-todoapp\functions" for Cloud Functions... {"metadata":{"emulator":{"name":"functions"},"message":"Watching \"C:\\Users\\Bryn\\Desktop\\bryn-todoapp\\functions\" for Cloud Functions..."}}
[2020-05-29T14:38:18.632Z] [worker-pool] addWorker(~diagnostic~) {"metadata":{"emulator":{"name":"functions"},"message":"[worker-pool] addWorker(~diagnostic~)"}}
[2020-05-29T14:38:18.638Z] [worker-pool] Adding worker with key ~diagnostic~, total=1 {"metadata":{"emulator":{"name":"functions"},"message":"[worker-pool] Adding worker with key ~diagnostic~, total=1"}}     
[2020-05-29T14:38:18.638Z] [worker-pool] submitWork(triggerId=) {"metadata":{"emulator":{"name":"functions"},"message":"[worker-pool] submitWork(triggerId=)"}}
[2020-05-29T14:38:18.639Z] [worker-~diagnostic~-8db31d96-b4d5-4fa2-9230-e536f082a401]: Assigning socketPath: \\?\pipe\C:\Users\Bryn\Desktop\bryn-todoapp\functions\14372 {"metadata":{"emulator":{"name":"functions"},"message":"[worker-~diagnostic~-8db31d96-b4d5-4fa2-9230-e536f082a401]: Assigning socketPath: \\\\?\\pipe\\C:\\Users\\Bryn\\Desktop\\bryn-todoapp\\functions\\14372"}}
[2020-05-29T14:38:18.640Z] [worker-~diagnostic~-8db31d96-b4d5-4fa2-9230-e536f082a401]: BUSY {"metadata":{"emulator":{"name":"functions"},"message":"[worker-~diagnostic~-8db31d96-b4d5-4fa2-9230-e536f082a401]: 
BUSY"}}
[2020-05-29T14:38:18.955Z] [runtime-status] [14372] Functions runtime initialized. {"cwd":"C:\\Users\\Bryn\\Desktop\\bryn-todoapp\\functions","node_version":"10.10.0"} {"metadata":{"emulator":{"name":"functions"},"message":"[runtime-status] [14372] Functions runtime initialized. {\"cwd\":\"C:\\\\Users\\\\Bryn\\\\Desktop\\\\bryn-todoapp\\\\functions\",\"node_version\":\"10.10.0\"}"}}
[2020-05-29T14:38:18.957Z] [runtime-status] [14372] Disabled runtime features: undefined {"metadata":{"emulator":{"name":"functions"},"message":"[runtime-status] [14372] Disabled runtime features: undefined"}}
[2020-05-29T14:38:18.960Z] [runtime-status] [14372] Resolved module firebase-admin {"declared":true,"installed":true,"version":"8.12.1","resolution":"C:\\Users\\Bryn\\Desktop\\bryn-todoapp\\functions\\node_modules\\firebase-admin\\lib\\index.js"} {"metadata":{"emulator":{"name":"functions"},"message":"[runtime-status] [14372] Resolved module firebase-admin {\"declared\":true,\"installed\":true,\"version\":\"8.12.1\",\"resolution\":\"C:\\\\Users\\\\Bryn\\\\Desktop\\\\bryn-todoapp\\\\functions\\\\node_modules\\\\firebase-admin\\\\lib\\\\index.js\"}"}}
[2020-05-29T14:38:18.961Z] [runtime-status] [14372] Resolved module firebase-functions {"declared":true,"installed":true,"version":"3.6.2","resolution":"C:\\Users\\Bryn\\Desktop\\bryn-todoapp\\functions\\node_modules\\firebase-functions\\lib\\index.js"} {"metadata":{"emulator":{"name":"functions"},"message":"[runtime-status] [14372] Resolved module firebase-functions {\"declared\":true,\"installed\":true,\"version\":\"3.6.2\",\"resolution\":\"C:\\\\Users\\\\Bryn\\\\Desktop\\\\bryn-todoapp\\\\functions\\\\node_modules\\\\firebase-functions\\\\lib\\\\index.js\"}"}}
!  functions: Your GOOGLE_APPLICATION_CREDENTIALS environment variable points to /home/user/Downloads/[bryn-todoapp-27e80-firebase-adminsdk-gp1c1-8bc2ce2561].json. Non-emulated services will access production using these credentials. Be careful! {"metadata":{"emulator":{"name":"functions"},"message":"Your GOOGLE_APPLICATION_CREDENTIALS environment variable points to /home/user/Downloads/[bryn-todoapp-27e80-firebase-adminsdk-gp1c1-8bc2ce2561].json. Non-emulated services will access production using these credentials. Be careful!"}}
[2020-05-29T14:38:18.974Z] [runtime-status] [14372] Outgoing network have been stubbed. [{"name":"http","status":"mocked"},{"name":"http","status":"mocked"},{"name":"https","status":"mocked"},{"name":"https","status":"mocked"},{"name":"net","status":"mocked"}] {"metadata":{"emulator":{"name":"functions"},"message":"[runtime-status] [14372] Outgoing network have been stubbed. [{\"name\":\"http\",\"status\":\"mocked\"},{\"name\":\"http\",\"status\":\"mocked\"},{\"name\":\"https\",\"status\":\"mocked\"},{\"name\":\"https\",\"status\":\"mocked\"},{\"name\":\"net\",\"status\":\"mocked\"}]"}}
[2020-05-29T14:38:19.003Z] [runtime-status] [14372] Checked functions.config() {"config":{}} {"metadata":{"emulator":{"name":"functions"},"message":"[runtime-status] [14372] Checked functions.config() {\"config\":{}}"}}
[2020-05-29T14:38:19.009Z] [runtime-status] [14372] Error in handleMessage: {"frb":{"cwd":"C:\\Users\\Bryn\\Desktop\\bryn-todoapp\\functions","projectId":"bryn-todoapp-27e80","triggerId":"","emulators":{},"socketPath":"\\\\?\\pipe\\C:\\Users\\Bryn\\Desktop\\bryn-todoapp\\functions\\14372"},"opts":{"nodeBinary":"C:\\Program Files\\nodejs\\node.exe"}} => TypeError: Cannot set property config of #<Object> which has 
only a getter: TypeError: Cannot set property config of #<Object> which has only a getter
    at C:\Users\Bryn\AppData\Roaming\npm\node_modules\firebase-tools\lib\emulator\functionsEmulatorRuntime.js:455:19
    at Generator.next (<anonymous>)
    at fulfilled (C:\Users\Bryn\AppData\Roaming\npm\node_modules\firebase-tools\lib\emulator\functionsEmulatorRuntime.js:5:58)
    at process._tickCallback (internal/process/next_tick.js:68:7) {"metadata":{"emulator":{"name":"functions"},"message":"[runtime-status] [14372] Error in handleMessage: {\"frb\":{\"cwd\":\"C:\\\\Users\\\\Bryn\\\\Desktop\\\\bryn-todoapp\\\\functions\",\"projectId\":\"bryn-todoapp-27e80\",\"triggerId\":\"\",\"emulators\":{},\"socketPath\":\"\\\\\\\\?\\\\pipe\\\\C:\\\\Users\\\\Bryn\\\\Desktop\\\\bryn-todoapp\\\\functions\\\\14372\"},\"opts\":{\"nodeBinary\":\"C:\\\\Program Files\\\\nodejs\\\\node.exe\"}} => TypeError: Cannot set property config of #<Object> which has only a getter: TypeError: Cannot set property config of #<Object> which has only a getter\n    at C:\\Users\\Bryn\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\lib\\emulator\\functionsEmulatorRuntime.js:455:19\n    at Generator.next (<anonymous>)\n   
 at fulfilled (C:\\Users\\Bryn\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\lib\\emulator\\functionsEmulatorRuntime.js:5:58)\n    at process._tickCallback (internal/process/next_tick.js:68:7)"}}     
!  functions: Cannot set property config of #<Object> which has only a getter {"metadata":{"emulator":{"name":"functions"},"message":"Cannot set property config of #<Object> which has only a getter"}}        
!  Your function was killed because it raised an unhandled error. {"metadata":{"emulator":{"name":"functions"},"message":"Your function was killed because it raised an unhandled error."}}
[2020-05-29T14:38:19.019Z] [worker-~diagnostic~-8db31d96-b4d5-4fa2-9230-e536f082a401]: exited {"metadata":{"emulator":{"name":"functions"},"message":"[worker-~diagnostic~-8db31d96-b4d5-4fa2-9230-e536f082a401]: exited"}}
[2020-05-29T14:38:19.029Z] [worker-~diagnostic~-8db31d96-b4d5-4fa2-9230-e536f082a401]: FINISHED {"metadata":{"emulator":{"name":"functions"},"message":"[worker-~diagnostic~-8db31d96-b4d5-4fa2-9230-e536f082a401]: FINISHED"}}  `

рдореИрдВ рдЕрднреА рднреА рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд┐рдпрд╛, рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

image

@COFFEEEADDICT рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ firebase --version 8.4.1 рджрд┐рдЦрд╛рддрд╛ рд╣реИ

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ,

firebase-functions рдкреИрдХреЗрдЬ (3.6.2) рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд╣реИред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдорд╛рдзрд╛рди /node_modules рдХреЛ рд╣рдЯрд╛рдирд╛ рдерд╛ рдФрд░ firebase-functions рдХреЛ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг ( npm install --save [email protected] ) рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдерд╛ред

рд╣реИрд▓реЛ рджреЛрд╕реНрддреЛрдВ,

рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ рдЖрдкрдиреЗ рдЦрджрд╛рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ 8.1.1 рдерд╛
рдХреГрдкрдпрд╛ рдХреЙрд▓ рдХрд░рдХреЗ рдлрд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

sudo npm i -g firebase-tools

рдпрд╣ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 8.4.1 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛
рдФрд░ рдЗрд╕рдиреЗ рдореЗрд░рд╛ рдореБрджреНрджрд╛ рддрдп рдХрд░ рджрд┐рдпрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рдирд╡реАрдирддрдо рдлрд╛рдпрд░рдмреЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдПрдбрдорд┐рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ
"рдлрд╛рдпрд░рдмреЗрд╕-рдПрдбрдорд┐рди": "8.12.1",
"рдлрд╛рдпрд░рдмреЗрд╕-рдлрд╝рдВрдХреНрд╢рдВрд╕": "3.6.1",

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдореБрджреНрджрд╛ рдареАрдХ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред

@ рдзрдиреНрдпрд╡рд╛рдж рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХрд┐рд╕реА рднреА рдорджрдж рдорд┐рд▓ рд░рд╣реА рд╣реИ?

рдкреНрд░рдгрд╛рд▓реА
рдореИрдХ рдУрдПрд╕ рдХреИрдЯрд╛рд▓рд┐рдирд╛: 10.15.4
рдиреЛрдб: v10.21.0
рдЬрд╛рд╡рд╛: рдУрдкрдирдЬрдбрдХ рд╕рдВрд╕реНрдХрд░рдг "14.0.1" 2020-04-14

рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг:
"рдлрд╛рдпрд░рдмреЗрд╕-рдПрдбрдорд┐рди": "^ 8.12.1",
"рдлрд╛рдпрд░рдмреЗрд╕-рдлрд╝рдВрдХреНрд╢рдВрд╕": "^ 3.7.0",
[email protected]

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрдорд╛рдВрдб:
рдлрд╛рдпрд░рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░: рд╕реНрдЯрд╛рд░реНрдЯ - рдСрдирд▓реА рдлрд╝рдВрдХреНрд╢рди

рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ:
рдореИрдВ рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: ["рдХрд╛рд░реНрдп"]
тЬФ рдлрд╝рдВрдХреНрд╢рди: рд╣реЛрд╕реНрдЯ рд╕реЗ рдиреЛрдб @ 10 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
тЬФ рдХрд╛рд░реНрдп: рдПрдореБрд▓реЗрдЯрд░ http: // localhost : 5001 рдкрд░ рд╢реБрд░реВ рд╣реБрдЖ
i рдлрд╝рдВрдХреНрд╢рди: рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / chamika / рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ / рдмрд┐рдЯреНрд╕рдореАрдбрд┐рдпрд╛ / рдореБрд╕реНрд▓рд┐рдо-рдкреНрд░реЛ-рдлрд╛рдпрд░рдмреЗрд╕ / рдлрд╝рдВрдХреНрд╢рдВрд╕" рджреЗрдЦрдирд╛ ...
тЪа TypeError: # рдХрд╛ рдЧреБрдг рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдЧрдЯрд░ рд╣реИ
рдЖрд░рдВрднреАрдХрд░рдг рдореЗрдВ
/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:448:13 рдкрд░
рдЬреЗрдирд░реЗрдЯрд░.рдиреЗрдХреНрд╕реНрдЯ рдкрд░ ()
/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:7:71 рдкрд░
рдирдП рд╡рд╛рджреЗ рдкрд░ ()
__awaiter (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:3:12) рдкрд░
рдореБрдЦреНрдп
рд╡рд╕реНрддреБ рдкрд░ред(/Usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:511:5)
рдореЙрдбреНрдпреВрд▓._ рдХрдВрдкреНрдпреВрдЯрд░ (рдЖрдВрддрд░рд┐рдХ / рдореЙрдбреНрдпреВрд▓ / cjs / loader.js: 778: 30)
Object.Module._extensions..js (рдЖрдВрддрд░рд┐рдХ / рдореЙрдбреНрдпреВрд▓ / cjs / loader.js: 789: 10)
Led рдЖрдкрдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдиреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд░рд╣рд┐рдд рддреНрд░реБрдЯрд┐ рдЦрдбрд╝реА рдХреАред

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдпрд╣ рдлрд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рджреВрд░ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдореИрдВ рдПрдореБрд▓реЗрдЯрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред Firebase-debug.log рдореЗрдВ рдпрд╣ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

[debug] [2020-06-23T18:50:31.331Z] [runtime-status] [54019] Error in handleMessage: {"frb":{"cwd":"/Users/shaimo-mbp/dev/javascript/CryptoTracker/functions","projectId":"cryptotracker-fa488","triggerId":"","ports":{"firestore":8080},"socketPath":"/var/folders/83/c3hy2yfx53g6_f3bvwcslqcc0000gn/T/fire_emu_54019.sock"},"opts":{"nodeBinary":"/Users/shaimo-mbp/.nvm/versions/node/v10.18.1/bin/node"}} => TypeError: Cannot set property config of #<Object> which has only a getter: TypeError: Cannot set property config of #<Object> which has only a getter
    at /usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:514:19
    at Generator.next (<anonymous>)
    at fulfilled (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:5:58)
    at process._tickCallback (internal/process/next_tick.js:68:7)
[warn] тЪа  functions:
[warn] тЪа  Your function was killed because it raised an unhandled error.

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╣рд╛рдБ рдЕрдЯрдХ ...

рдЕрднреА рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП: рдпрджрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред

рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдХрд┐рд╕реА рдХреЛ рднреА рдорджрдж рдХрд░рддрд╛ рд╣реИ: рдореБрдЭреЗ рдЯреВрд▓реНрд╕ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдлрд┐рд░ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ:
sudo npm i -g [email protected]

рдкреНрд░рдгрд╛рд▓реА
рдореИрдХ рдУрдПрд╕ рдХреИрдЯрд╛рд▓рд┐рдирд╛: 10.15.4
рдиреЛрдб: v10.21.0
рдЬрд╛рд╡рд╛: рдУрдкрдирдЬрдбрдХ рд╕рдВрд╕реНрдХрд░рдг "14.0.1" 2020-04-14

"firebase-admin": "^8.10.0", 09/07/2020 рддрдХ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ,
рдореБрдЭреЗ "firebase-admin": "^8.12.1", рдФрд░ рдбрдмрд▓ рдЪреЗрдХ рдХрд░рдирд╛ рдерд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ "" рдлрд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕ ":" 06.1 "рд╣реИ

JohnGeorgiadis рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╛рди рд╕реЗрдЯрдЕрдкред рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ...

functions: Cannot set property config of #<Object> which has only a getter тЪа Your function was killed because it raised an unhandled error.

рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрдХрд▓реНрдк рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд╛рд░реЛрдВ рдУрд░ рдЦреЗрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ: рдореЗрд░рд╛ рд▓рд┐рдирдХреНрд╕ "/usr/local/lib/node_modules/firebase-tools/lib/bin/firebase.js" рдХрд┐рд╕реА рднреА рд╕рдордп рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ "рдлрд╛рдпрд░рдмреЗрд╕" рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ 7.12 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдкреИрдХреЗрдЬ рдХрд╛ 0 рд╕рдВрд╕реНрдХрд░рдгред рдореИрдВрдиреЗ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЕрдм рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ 8.6.0 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

user<strong i="6">@machine</strong>: which firebase
/usr/local/bin/firebase
user<strong i="7">@machine</strong>: cd /usr/local/bin
user<strong i="8">@machine</strong>: sudo rm firebase
user<strong i="9">@machine</strong>: sudo ln -s /usr/lib/node_modules/firebase-tools/lib/bin/firebase.js firebase
user<strong i="10">@machine</strong>: firebase --version
8.6.0

рд╢рдмреНрдж _local_ рдХреБрдВрдЬреА рд╣реИ

рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрд┐рдд '/ usr / рд╕реНрдерд╛рдиреАрдп / lib / рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕' рдореЗрдВ рдлрд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдУрдкреА рдиреЗ рдЬрд┐рд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рд╡рд╣ рдПрдХ рдЕрд▓рдЧ рд░рд╛рд╣ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ: '/ usr / lib / node_modules / firebase-tools /'ред
рдкрд╣рд▓реЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдлрд╝рд╛рдпрд░рдмреЗрдЬрд╝-рдЯреВрд▓реНрд╕ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 8.6.0 рдерд╛, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдкрде рдкрд░ рд╕рдВрд╕реНрдХрд░рдг 7.0.2 рдерд╛ред

рдПрдХ рдлрд╛рдпрд░рдмреЗрд╕ -рд╡реА 7.0.2 рд▓реМрдЯрд╛

рдпрд╣рд╛рдВ рдПрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ (рдПрдХ рдЪрд░реНрдЪрд╛ рд╕реЗ рдпрд╣рд╛рдВ: https://stackoverflow.com/q/5926672/7461599)

installing without -g option will install a module to you working directory e.g. if you make a directory say ~/Desktop/tmp then cd ~/Desktop/tmp then do npm install appium then do ls you will see node_modules package-lock.json because you have installed a node module appium to your working directory... super confusing because -g should essentially be the default but is not.

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ npm uninstall firebase-tools , рдлрд┐рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ -g рд╕рд╛рде рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдерд╛ред рдЕрдм рдЕрдк-рдЯреВ-рдбреЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ firebase -V рд╕рд╣реА рдкрде рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд╛рдпрд░рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред

рдпрджрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡реИрд╢реНрд╡рд┐рдХ npm [email protected] рдФрд░ рдореЗрд░реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдпрд╛рд░реНрди [email protected] рдмреАрдЪ рд╕рдВрдШрд░реНрд╖ рдХрд┐рдпрд╛ рдерд╛ред рдореЗрд░реЗ рд╡реИрд╢реНрд╡рд┐рдХ npm рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╣рдЯрд╛рдиреЗ рдиреЗ 7.0.0 рд╕реЗ firebase -V 7.0.0 рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдореБрджреНрджрд╛ рддрдп рдХрд┐рдпрд╛

рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд░рд╣рд╛ рдерд╛

  1. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрд░рдВрдн (рдлрд╛рдпрд░рдмреЗрд╕ рдЗрдирд┐рдЯ) => рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг => v8.xx
  2. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рдирд┐рдВрдЧ (рдлрд╛рдпрд░рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░: рд╕реНрдЯрд╛рд░реНрдЯ) => рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг => v12.xx

рдореИрдВрдиреЗ рдПрдХ рд╣реА рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдХрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ: рдореЗрд░рд╛ рд▓рд┐рдирдХреНрд╕ "/usr/local/lib/node_modules/firebase-tools/lib/bin/firebase.js" рдХрд┐рд╕реА рднреА рд╕рдордп рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ "рдлрд╛рдпрд░рдмреЗрд╕" рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ 7.12 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдкреИрдХреЗрдЬ рдХрд╛ 0 рд╕рдВрд╕реНрдХрд░рдгред рдореИрдВрдиреЗ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЕрдм рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ 8.6.0 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

user<strong i="7">@machine</strong>: which firebase
/usr/local/bin/firebase
user<strong i="8">@machine</strong>: cd /usr/local/bin
user<strong i="9">@machine</strong>: sudo rm firebase
user<strong i="10">@machine</strong>: sudo ln -s /usr/lib/node_modules/firebase-tools/lib/bin/firebase.js firebase
user<strong i="11">@machine</strong>: firebase --version
8.6.0

рд╢рдмреНрдж _local_ рдХреБрдВрдЬреА рд╣реИ

рдореИрдВ рдкреВрд░реНрд╡рд╡рдд рдХреИрд╕реЗ рдХрд░реВрдБ?

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ: рдореЗрд░рд╛ рд▓рд┐рдирдХреНрд╕ "/usr/local/lib/node_modules/firebase-tools/lib/bin/firebase.js" рдХрд┐рд╕реА рднреА рд╕рдордп рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ "рдлрд╛рдпрд░рдмреЗрд╕" рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ 7.12 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдкреИрдХреЗрдЬ рдХрд╛ 0 рд╕рдВрд╕реНрдХрд░рдгред рдореИрдВрдиреЗ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЕрдм рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ 8.6.0 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

user<strong i="8">@machine</strong>: which firebase
/usr/local/bin/firebase
user<strong i="9">@machine</strong>: cd /usr/local/bin
user<strong i="10">@machine</strong>: sudo rm firebase
user<strong i="11">@machine</strong>: sudo ln -s /usr/lib/node_modules/firebase-tools/lib/bin/firebase.js firebase
user<strong i="12">@machine</strong>: firebase --version
8.6.0

рд╢рдмреНрдж _local_ рдХреБрдВрдЬреА рд╣реИ

рдореИрдВ рдкреВрд░реНрд╡рд╡рдд рдХреИрд╕реЗ рдХрд░реВрдБ?

рдЖрдк (рдЖрд╕рд╛рдиреА рд╕реЗ) рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдореИрдВ рдПрдХ рд╣реА рдорд╛рд░реНрдЧ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рдмрд╛рдЗрдирд░реА рдФрд░ рдЬрдЧрд╣ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

francisrod01 picture francisrod01  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hmazter picture hmazter  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Ridermansb picture Ridermansb  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jkeys089 picture jkeys089  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

chen86860 picture chen86860  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ