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.
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!
La solution est:
yarn global add firebase-tools
yarn global add @google-cloud/functions-emulator --ignore-engines
Ce qui suit a fonctionné pour moi.
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"
}
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é.
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:
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
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
Installez nvm
(gestionnaire de version de noeud) en suivant les instructions suivantes:
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
Installez le kit de développement logiciel Google Cloud Platform:
Réinstallez l'émulateur de fonctions:
npm install -g @google-cloud/functions-emulator
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: