tsc 命令中的 Firebase 部署 returns 错误

Firebase deploy returns error at tsc command

我已经设置了一个 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 compile/transpile 这一步。 我正在寻找使此部署步骤通过的方法。

我已遵循 this GitHub issue 中给出的建议,其中包括:

None 以上步骤对我有用。

如何才能成功部署到 Firebase?

运行 进入同样的问题,在将 typescript 库升级到 3.3.1 版本并执行 npm install 后能够部署。

在package.json文件集中 "devDependencies":{ "tslint": "~5.8.0", "typescript": "~3.3.1" },

注意:您可以删除 post 中描述的所有更改。

这对我有用: 将此行添加到函数文件夹中的 tsconfig:

"typeRoots": [ "node_modules/@types" ],

这是为我工作的"compilerOptions"块的一部分

试试这个

在浪费了很多时间之后,当我取消注释 index.ts

中的代码时它起作用了
import * as functions from "firebase-functions";

// // Start writing Firebase Functions
// // https://firebase.google.com/docs/functions/typescript
//
// export const helloWorld = functions.https.onRequest((request, response) => {
//   functions.logger.info("Hello logs!", {structuredData: true});
//   response.send("Hello from Firebase!");
// });