web-dev-qa-db-fra.com

Erreur de déploiement de FIrebase: impossible de trouver le module 'firebase-admin'

J'ai récemment commencé à rencontrer l'erreur ci-dessous lors d'une tentative de déploiement sur Firebase (après l'avoir fait avec succès par le passé). Je ne suis pas sûr de ce qui aurait pu changer pour que cela commence à se produire. Si je lance firebase pour servir sur le localhost, tout se passe bien. Mon package.json et requiert de index.js sont également ci-dessous.

i  deploying functions, hosting
i  functions: ensuring necessary APIs are enabled...
i  runtimeconfig: ensuring necessary APIs are enabled...
+  runtimeconfig: all necessary APIs are enabled
+  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (46.02 KB) for uploading
+  functions: functions folder uploaded successfully
i  hosting: preparing public directory for upload...
!  Warning: Public directory does not contain index.html
+  hosting: 9 files uploaded successfully
i  starting release process (may take several minutes)...
i  functions: updating function app...
!  functions[app]: Deploy Error: Function load error: Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'firebase-admin'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/node_modules/firebase-functions/lib/apps.j
s:25:16)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)


Functions deploy had errors. To continue deploying other features (such as datab
ase), run:
firebase deploy --except functions

Error: Functions did not deploy properly.

package.json:

{
"name": "functions",
"description": "Cloud Functions for Firebase",
"dependencies": {
"@google-cloud/vision": "^0.12.0",
"async": "^2.5.0",
"consolidate": "^0.14.5",
"express": "^4.15.4",
"firebase-admin": "^5.4.0",
"firebase-functions": "^0.5.7",
"handlebars": "^4.0.10",
"jquery": "^3.2.1",
"js-levenshtein": "^1.1.3",
"json-query": "^2.2.2"
},
"private": true
}

De index.js:

const functions = require('firebase-functions');
const firebase = require('firebase-admin');
const express = require('express');
const engines = require('consolidate');
const Vision = require('@google-cloud/vision');
const levenshtein = require('js-levenshtein');
const restName = require('./restName');
const parser = require('./parser');
const jsonQuery = require('json-query')

const firebaseApp = firebase.initializeApp(
functions.config().firebase
);
12
Feyman81

Ils ont une interruption de service active. Suivez ceci pour trouver une solution: https://status.firebase.google.com/incident/Functions/17024

Exécutez les commandes suivantes dans le référentiel de fonctions:

npm install --save-exact [email protected] npm install --save-exact [email protected]

Puis essayez à nouveau de déployer des fonctions:

firebase deploy --only functions

Si NPM ne fonctionne pas, vous pouvez essayer le fil qui a fonctionné pour nous:

yarn add [email protected] --exact yarn add [email protected] --exact
18
Jason

Mettez à jour le fichier package.json dans les fonctions de dossier et examinez les dépendances. Supprimez le signe ~ de firebase-admin et ^ de firebase-functions.

"dependencies": {
  "firebase-admin": "5.4.0",
  "firebase-functions": "0.7.0"
}

en type de ligne de commande

npm installer

puis essayez de vous déployer à nouveau.

2
user8041274

Je suis allé au répertoire des fonctions et ai exécuté yarn (ou npm install si vous êtes old-school) Ensuite, je suis retourné dans le répertoire de mon projet et j'ai exécuté firebase deploy à nouveau.

2
Rory

 enter image description here

Le problème est donc que package.json dans le dossier Fonctions est différent de package.json dans le répertoire de votre projet. oui, vous avez 2 de ce fichier!

Par conséquent, si vous souhaitez déployer (deploy des fonctions), exécutez npm install express ou installez d’autres dépendances dans le dossier Function et vous pourrez déployer sans erreur.

1
Soley

J'ai aussi la même erreur. Je corrige cette erreur en installant une version différente dans nodejs. Je désinstalle ma nouvelle version et j'installe Node v7.8.0 . alors ça marche bien :) 

0