web-dev-qa-db-fra.com

Firebase: impossible de démarrer l'émulateur

fonctions: impossible de démarrer l'émulateur. Erreur: Impossible de trouver le module '@ google-cloud/functions-emulator/src/config'

C'est le message d'erreur que je reçois lorsque j'essaie d'exécuter des fonctions localement sur Mac. Ma version de Firebase est 3.16.0. J'ai aussi essayé de faire Sudo npm install -g @google-cloud/functions-emulator. Mais toujours pas d'utilisation. S'il vous plaît aider.

7
Edison D'souza

Solution de travail! (OSX) Aucune de ces solutions n'a fonctionné pour moi. Après une longue lutte, j'ai trouvé la solution suivante.

cd my_project/functions

npm install @google-cloud/functions-emulator

Copier @ google-cloud/functions-emulator dossier généré à l'intérieur de node_modules .

cd /usr/local/lib/node_modules/@google-cloud && open .

Collez le dossier functions-emulator ici.

Dans le répertoire racine de votre projet, copiez package.json inside functions/node_modules/@ google-cloud/functions-emulator

cd /usr/local/lib && open .

Collez le package.json ici.

npm install

Hourra! Tu es prêt. Retournez maintenant dans le répertoire racine de votre projet et exécutez-le.

Sudo firebase serve --only hosting,functions

Et l'émulateur devrait démarrer normalement.

Remarque: N'exécutez pas sudo npm install -g @ google-cloud/functions-emulator car les fichiers seront supprimés et réinstallés. C'est là que l'installation échoue et que l'émulateur ne s'exécute pas.

J'espère que cela t'aides!

8
Edison D'souza

La solution est:

yarn global add firebase-tools
yarn global add @google-cloud/functions-emulator --ignore-engines
11
Dan Key

Ce qui suit a fonctionné pour moi.

  1. npm désinstaller -g firebase-tools && npm i -g firebase-tools
  2. npm i --save @ google-cloud/firestore
  3. npm i --save @ google-cloud/common-grpc
  4. npm i -g @ google-cloud/functions-emulator
  5. npm i --save firebase-functions

extrait package.json actuel

"dependencies": {
    "@google-cloud/common-grpc": "^0.5.3",
    "@google-cloud/firestore": "^0.11.1",
    "firebase-functions": "^0.8.1",
    "firebase-admin": "5.8.1" 
}
1
Kevin Koelzer

Mon système: Ubuntu 16.04.3

J'ai eu le même problème et la raison est que "@ google-cloud/functions-emulator" n'est pas installé dans le "dossier des packages globaux npm".

Dans mon cas, cela est dû au fait que j’ai installé firebase-tools de manière globale en utilisant du fil, et que je l’ai utilisé car lors de l’installation de firebase-tools en utilisant npm, une erreur d’accès aux dossiers s’est produite, ce qui n’est pas arrivé avec fil.

Ce que j'ai fait pour résoudre le problème a été de suivre ces instructions simples du site Web npm d'utiliser un dossier différent pour les packages globaux npm ( https://docs.npmjs.com/getting-started/fixing-npm-permissions ) .

Ensuite, j'ai installé à nouveau avec 'npm install -g firebase-tools' ( sans Sudo ) et cela a parfaitement fonctionné.

0
alainbex

J'ai eu le même problème, en utilisant Ubuntu 17.10. 

Remarque : Vous n’avez pas besoin et ne devriez pas utiliser Sudo pour l’installation.

J'ai résolu ceci en effectuant les opérations suivantes:

  1. Désinstallez toute tentative d'installation de l'émulateur de fonctions précédemment tentée.

    npm uninstall -g @google-cloud/functions-emulator
    

    et pour être sûr:

    yarn global remove @google-cloud/functions-emulator
    
  2. Supprimez tous les fichiers dans ~/.config/configstore/@google-cloud/functions-emulator. Notez qu'il y a des fichiers cachés dans ce répertoire.

    rm -rf ~/.config/configstore/@google-cloud/functions-emulator
    
  3. Installez nvm (gestionnaire de version de noeud) en suivant les instructions suivantes:

    https://github.com/creationix/nvm#install-script

  4. Utilisez nvm pour installer une version spécifique de noeud. Au moment de la rédaction, l'émulateur de fonctions Google Cloud (version 1.0.0-alpha.29) requiert spécifiquement la version 6.11.5.

    nvm install 6.11.5
    
  5. Installez le kit de développement logiciel Google Cloud Platform:

    https://cloud.google.com/sdk/

  6. Réinstallez l'émulateur de fonctions:

    npm install -g @google-cloud/functions-emulator
    
  7. Démarrez l'émulateur pour vérifier que l'installation a réussi:

    functions start
    

IMPORTANT: Ensuite, lorsque vous tentez de créer une fonction pouvant être testée localement ou déployée sur Google Cloud, vous devez utiliser la commande firebase init functions dans votre projet et l'autoriser à installer des dépendances via npm. Vous trouverez un aperçu de la création d'une fonction de test avec Firebase ici:

https://firebase.google.com/docs/functions/get-started

0
dmcquiggin