web-dev-qa-db-fra.com

Problème de déploiement de la fonction Firebase: package.json introuvable dans% RESOURCE_DIR%

J'ai du mal à déployer les fonctions cloud de Firebase.

Etapes pour reproduire

  • firebase init
  • sélectionner la fonction seulement
  • sélectionnez Firebase Project
  • sélectionnez Javascript
  • utiliser ESLint
  • installez maintenant les dépendances avec npm
  • Exécuter le déploiement de la base de feu

Résultat attendu

On s'attend à ce que firebase-tools déploie les fonctions cloud.

Résultat actuel

Recevez le message d'erreur suivant:

λ firebase deploy

=== Deploying to '<projects>'...

i  deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
npm ERR! path ...path\firebaseFunction\%RESOURCE_DIR%\package.json
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '...path\firebaseFunction\%RESOURCE_DIR%\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     ...path\AppData\Roaming\npm-cache\_logs\2018-06-17T10_02_45_577Z-debug.log

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

J'ai essayé googled it et suivez les solutions sur le lien ci-dessous mais cela ne me fonctionne pas: https://github.com/firebase/firebase-tools/issues/610

S'il vous plaît aider! 

Je vous remercie.

4
Jerry

Essayez de remplacer la chaîne "$ RESOURCE_DIR" par "% RESOURCE_DIR%" dans votre fichier "firebase.json".

Exécutez à nouveau la commande deploy. Cela a fonctionné pour moi.

EDIT: Ce correctif est pour Windows, et maintenant le projet ne sera pas multi-plateforme, comme mentionné dans cette réponse: question similaire

17
Osama Alsadi

1. Dans le fichier firebase.json 

essayez de remplacer $RESOURCE_DIRavec %RESOURCE_DIR% et

"npm --prefix $RESOURCE_DIR run lint" to "npm --prefix %RESOURCE_DIR% run lint"

(le précédent vient de contourner le problème)

2. npm install -g git://github.com/firebase/firebase-tools#master

veuillez réessayer cette installation dans votre dossier de projet, cela devrait résoudre le problème.

2
jaideep_johny

Il semble que vous utilisiez une ancienne version de la CLI de Firebase ou un projet initialisé avec une ancienne version. La chose la plus propre à faire serait de mettre à jour votre CLI:

npm install -g firebase-tools

Et créez un nouveau projet à partir de rien avec firebase init. Ensuite, reconstruisez votre nouveau projet avec le code de l’ancien projet.

0
Doug Stevenson

J'ai eu le même problème il suffit de supprimer le fichier predeploy du fichier firebase.json et cela fonctionnera bien

0
Captain Hacker