web-dev-qa-db-fra.com

Firebase deploy renvoie une erreur à la commande tsc

J'ai configuré un projet Firebase pour créer des fonctions de base Firebase.
Dans le projet, j'utilise TypeScript

Suite à la documentation officielle de Firebase j'ai créé mon projet.

La dernière étape, firebase deploy --only functions, A donné une erreur avec la commande 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

Il semble qu'une partie du code de la bibliothèque Firebase ne passe pas l'étape de compilation/transpile tsc. Je cherche un moyen de faire passer cette étape de déploiement.

J'ai suivi la suggestion donnée à ce problème GitHub , qui comprenait:

  • Ajout de --skipLibCheck À la commande tsc
  • Ajout de skipLibCheck au functions/tsconfig.json Généré par le projet
  • Ajout de isolateModules à functions/tsconfig.json
  • Ajout de ./functions/node_modules/@types Au tableau typeRoots dans le fichier functions/tsconfig.json.
  • Ajout de dom à compilerOptions.lib Dans functions/tsconfig.json

Aucune des étapes ci-dessus n'a fonctionné pour moi.

Comment réussir mon déploiement sur Firebase?

8
Rick Slinkman

A rencontré le même problème, a pu se déployer après la mise à niveau de la bibliothèque TypeScript vers la version 3.3.1 et effectuer l'installation de npm.

Dans le fichier package.json, définissez "devDependencies": {"tslint": "~ 5.8.0", "TypeScript": "~ 3.3.1"},

Remarque: vous pouvez supprimer toutes les modifications décrites dans votre message.

10
Maigais

cela fonctionne pour moi: ajoutez cette ligne à tsconfig dans le dossier des fonctions:

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

Cela fait partie du bloc "compilerOptions" qui a fonctionné pour moi

3
Pragati Dugar