Только что обновил функции Firebase и получил сообщение об ошибке

#firebase #google-cloud-functions

# #firebase #google-cloud-функции

Вопрос:

Я пытаюсь перейти с узла 6 на узел 8 и следую документам. Я только что обновил свой firebase-tools и firebase-functions в командной строке и добавил "engines": { "node": "8" } в свой файл project / functions package.json , и я получаю следующие ошибки:

 PS C:program filesgitprojectsqmn> firebase deploy

=== Deploying to 'quizmenot-79ee9'...

i  deploying storage, firestore, functions, hosting
Running command: npm --prefix "$RESOURCE_DIR" run build

> functions@ build C:program filesgitprojectsqmnfunctions
> tsc

node_modules/firebase-functions/lib/function-builder.d.ts(61,93): error TS1005: ';' expected.
node_modules/firebase-functions/lib/function-builder.d.ts(61,94): error TS1003: Identifier expected.
node_modules/firebase-functions/lib/function-builder.d.ts(61,114): error TS1005: ';' expected.
node_modules/gaxios/build/src/index.d.ts(14,66): error TS1005: '>' expected.
node_modules/gaxios/build/src/index.d.ts(14,103): error TS1109: Expression expected.
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! functions@ build: `tsc`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the functions@ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:UsersFiringBlanksAppDataRoamingnpm-cache_logs2019-04-19T05_57_15_561Z-debug.log

Error: functions predeploy error: Command terminated with non-zero exit code2
 

Дополнительная информация из журнала C:UsersFiringBlanksAppDataRoamingnpm-cache_logs

 0 info it worked if it ends with ok
1 verbose cli [ 'C:\Program Files\nodejs\node.exe',
1 verbose cli   'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js',
1 verbose cli   '--prefix',
1 verbose cli   'C:\program files\git\projects\qmn\functions',
1 verbose cli   'run',
1 verbose cli   'build' ]
2 info using npm@6.4.1
3 info using node@v8.12.0
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle functions@~prebuild: functions@
6 info lifecycle functions@~build: functions@
7 verbose lifecycle functions@~build: unsafe-perm in lifecycle true
8 verbose lifecycle functions@~build: PATH: C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-lifecyclenode-gyp-bin;C:program filesgitprojectsqmnfunctionsnode_modules.bin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:WINDOWSSystem32OpenSSH;C:Program Filesnodejs;C:Program FilesGitcmd;C:Program FilesGitmingw64bin;C:Program FilesGitusrbin;C:Program FilesNVIDIA CorporationNVIDIA NvDLISR;C:UsersFiringBlanksAppDataLocalMicrosoftWindowsApps;C:UsersFiringBlanksAppDataLocalProgramsMicrosoft VS Codebin;C:UsersFiringBlanksAppDataRoamingnpm;C:UsersFiringBlanksAppDataLocalGoogleCloud SDKgoogle-cloud-sdkbin
9 verbose lifecycle functions@~build: CWD: C:program filesgitprojectsqmnfunctions
10 silly lifecycle functions@~build: Args: [ '/d /s /c', 'tsc' ]
11 silly lifecycle functions@~build: Returned: code: 2  signal: null
12 info lifecycle functions@~build: Failed to exec build script
13 verbose stack Error: functions@ build: `tsc`
13 verbose stack Exit status 2
13 verbose stack     at EventEmitter.<anonymous> (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-lifecycleindex.js:301:16)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at EventEmitter.emit (events.js:214:7)
13 verbose stack     at ChildProcess.<anonymous> (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-lifecyclelibspawn.js:55:14)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:915:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid functions@
15 verbose cwd C:program filesgitprojectsqmn
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "--prefix" "C:\program files\git\projects\qmn\functions" "run" "build"
18 verbose node v8.12.0
19 verbose npm  v6.4.1
20 error code ELIFECYCLE
21 error errno 2
22 error functions@ build: `tsc`
22 error Exit status 2
23 error Failed at the functions@ build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 2, true ]
 

Комментарии:

1. Есть ли более подробная информация в файле журнала C:UsersFiringBlanksAppDataRoamingnpm-cache_logs2019-04-19T05_57_15_561Z-debug.log

2. Да, я обновил сообщение.

Ответ №1:

Нашел решение здесь: https://github.com/firebase/firebase-functions/issues/404

Это проблема с версией typescript. Последняя версия (3.4.4) не работает. Вместо этого работает установка версии v3.3.1. Я использовал следующее:

 npm install --save typescript@3.3.1
 

и

 npm install --save-dev typescript@3.3.1
 

как в корневой папке моего текущего проекта, так и в каталоге / functions .

Теперь он развертывается просто отлично.

Ответ №2:

Похоже на ошибку компилятора Typescript. При обновлении возникла аналогичная ошибка firebase-functions .

Проверьте свою версию Typescript в package.json папке «В вашей функции».

Эти версии работают для меня с узлом 8:

 "firebase-functions": "^2.1.0"
"typescript": "^3.1.1"