我已经设置了一个Firebase项目来创建一些基本的Firebase函数。
在项目中,我正在使用TypeScript
在Firebase official documentation之后,我创建了我的项目。
最后一步firebase deploy --only functions
使用tsc
命令出错。
$ firebase deploy --only functions
=== Deploying to ‘my-project’…
i deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
> functions@ lint /path/to/functions
> tslint --project tsconfig.json
Running command: npm --prefix "$RESOURCE_DIR" run build
> functions@ build /path/to/functions
> tsc
node_modules/firebase-functions/lib/function-builder.d.ts(60,95): error TS1005: ';' expected.
node_modules/firebase-functions/lib/function-builder.d.ts(60,96): error TS1003: Identifier expected.
node_modules/firebase-functions/lib/function-builder.d.ts(60,116): error TS1005: ';' 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! /some/path/.npm/_logs/2019-02-03T00_10_30_573Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code2
Having trouble? Try firebase deploy --help
似乎某些Firebase库代码未通过tsc
编译/传输步骤。
我正在寻找使该部署步骤通过的方法。
我遵循了this GitHub issue给出的建议,其中包括:
--skipLibCheck
添加到tsc
命令skipLibCheck
添加到项目的生成的functions/tsconfig.json
isolateModules
添加到functions/tsconfig.json
./functions/node_modules/@types
添加到typeRoots
文件中的functions/tsconfig.json
数组中。dom
中的compilerOptions.lib
添加到functions/tsconfig.json
以上所有步骤对我都没有作用。
如何才能成功部署到Firebase?
答案 0 :(得分:4)
遇到同样的问题,在将Typescript库升级到3.3.1版本并进行npm安装后能够部署。
在package.json文件集中 “ devDependencies”:{ “ tslint”:“〜5.8.0”, “打字稿”:“〜3.3.1” }
注意:您可以删除帖子中描述的所有更改。
答案 1 :(得分:2)
这对我有用: 将此行添加到functions文件夹内的tsconfig中:
“ typeRoots”:[ “ node_modules / @ types” ]
这是对我有用的“ compilerOptions”模块的一部分