web-dev-qa-db-ja.com

Firebaseデプロイがtscコマンドでエラーを返す

Firebaseプロジェクトをセットアップして、いくつかの基本的なFirebase関数を作成しました。
TypeScriptを使用しているプロジェクト

Firebaseの公式ドキュメント に従ってプロジェクトを作成しました。

最後のステップ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コンパイル/トランスパイルステップを渡さないようです。この展開ステップを成功させる方法を探しています。

私は このGitHubの問題 で提示された提案に従いました。

  • tscコマンドに--skipLibCheckを追加する
  • プロジェクトの生成されたfunctions/tsconfig.jsonskipLibCheckを追加する
  • isolateModulesfunctions/tsconfig.jsonに追加しています
  • ./functions/node_modules/@typesファイルのtypeRoots配列にfunctions/tsconfig.jsonを追加します。
  • compilerOptions.libfunctions/tsconfig.jsondomを追加しています

上記のいずれの手順でもうまくいきませんでした。

Firebaseへのデプロイを成功させるにはどうすればよいですか?

8
Rick Slinkman

同じ問題に遭遇し、TypeScriptライブラリを3.3.1バージョンにアップグレードした後にデプロイして、npmインストールを実行できました。

Package.jsonファイルセットで、 "devDependencies":{"tslint": "〜5.8.0"、"TypeScript": "〜3.3.1"}、

注:投稿に記載されているすべての変更を削除できます。

10
Maigais

これは私にとってはうまくいきます:functionsフォルダー内のtsconfigにこの行を追加します:

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

これは私のために働いた「compilerOptions」ブロックの一部です

3
Pragati Dugar