Firebase-tools: verifyDeveloperNodeModules () no puede descubrir "firebase-admin"

Creado en 9 may. 2019  ·  26Comentarios  ·  Fuente: firebase/firebase-tools

Asuntos relacionados

1243 y # 1258

[REQUERIDO] Información de la versión

nodo: 8.16.0

firebase-functions: 2.3.0

firebase-tools: 6.9.1 ( NOTA: Funciona en 6.8.0)

firebase-admin: 7.3.0

Estoy ejecutando esto en Windows 10.

[REQUERIDO] Caso de prueba


Un proyecto de base de fuego recién generado que usa firebase init con funciones.

[REQUERIDO] Pasos para reproducir

  1. Ejecute npm run start (o firebase functions:shell )

[REQUERIDO] Comportamiento esperado


El emulador se inicia correctamente

[REQUERIDO] Comportamiento real

Se muestran los siguientes registros:

!  The Cloud Functions emulator requires the module "firebase-admin" to be installed. This package is in your package.json, but it's not available. You probably need to run "npm install" in your functions directory.
i  functions: Your functions could not be parsed due to an issue with your node_modules (see above)

¿Pudo implementar con éxito sus funciones?


Sí, la implementación funciona bien. La función desplegada (hola mundo) también

emulator-suite bug

Comentario más útil

Este es un error en las versiones firebase-tools 6.9.0 y 6.9.1 . La solución es degradar a 6.8.0 por ahora:

npm install -g [email protected]

ref: https://stackoverflow.com/a/56065094/4319131

Todos 26 comentarios

No pude averiguar cómo etiquetar este problema, así que lo he etiquetado para que un humano lo clasifique. Aguanta.

Pasando a firebase-tools ya que ahí es donde se implementa la emulación.

El emulador funciona en [email protected] . Es probable que este problema esté relacionado con los números 1243 y 1258.

Experimentando el mismo problema:

✔  functions: Using node<strong i="6">@8</strong> from host.
✔  functions: Emulator started at http://localhost:5001
i  functions: Watching "/home/yerzhan/projects/askimam/functions" for Cloud Functions...
⚠  The Cloud Functions emulator requires the module "firebase-admin" to be installed. This package is in your package.json, but it's not available. You probably need to run "npm install" in your functions directory.
i  functions: Your functions could not be parsed due to an issue with your node_modules (see above)
firebase -V
6.9.1
  "dependencies": {
    "firebase-admin": "^7.3.0",
    "firebase-functions": "^2.3.0"
  },

Aunque el paquete firebase-admin existe en node_modules.

[2019-05-09T09:19:26.091Z] ----------------------------------------------------------------------
[2019-05-09T09:19:26.093Z] Command:       /home/yerzhan/node-v8.12.0-linux-x64/bin/node /home/yerzhan/node-v8.12.0-linux-x64/bin/firebase emulators:start --debug
[2019-05-09T09:19:26.093Z] CLI Version:   6.9.1
[2019-05-09T09:19:26.093Z] Platform:      linux
[2019-05-09T09:19:26.093Z] Node Version:  v8.12.0
[2019-05-09T09:19:26.094Z] Time:          Thu May 09 2019 15:19:26 GMT+0600 (+06)
[2019-05-09T09:19:26.094Z] ----------------------------------------------------------------------

[2019-05-09T09:19:26.099Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2019-05-09T09:19:26.099Z] > authorizing via signed-in user
[2019-05-09T09:19:26.100Z] > refreshing access token with scopes: ["email","https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","openid"]
[2019-05-09T09:19:26.100Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token  
 <request body omitted>
[2019-05-09T09:19:26.891Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=utf-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Thu, 09 May 2019 09:19:26 GMT, server=scaffolding on HTTPServer2, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=":443"; ma=2592000; v="46,44,43,39", accept-ranges=none, transfer-encoding=chunked
[2019-05-09T09:19:26.901Z] >>> HTTP REQUEST GET https://cloudresourcemanager.googleapis.com/v1/projects/azan-kz-ask-imam  

[2019-05-09T09:19:28.625Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Thu, 09 May 2019 09:19:28 GMT, server=ESF, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, server-timing=gfet4t7; dur=923, alt-svc=quic=":443"; ma=2592000; v="46,44,43,39", accept-ranges=none, transfer-encoding=chunked
i  Starting emulators: ["functions"]
✔  functions: Using node<strong i="5">@8</strong> from host.
[2019-05-09T09:19:28.637Z] >>> HTTP REQUEST GET https://mobilesdk-pa.googleapis.com/v1/projects/674391970261:getServerAppConfig  

[2019-05-09T09:19:29.356Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Thu, 09 May 2019 09:19:29 GMT, server=ESF, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=":443"; ma=2592000; v="46,44,43,39", accept-ranges=none, transfer-encoding=chunked
✔  functions: Emulator started at http://localhost:5001
i  functions: Watching "/home/yerzhan/projects/askimam/functions" for Cloud Functions...
[2019-05-09T09:19:29.813Z] Functions runtime initialized.
[2019-05-09T09:19:29.813Z] Disabled runtime features: undefined
⚠  The Cloud Functions emulator requires the module "firebase-admin" to be installed. This package is in your package.json, but it's not available. You probably need to run "npm install" in your functions directory.
i  functions: Your functions could not be parsed due to an issue with your node_modules (see above)

Tengo la misma solución y encontré:
Puede usar el comando de alias como este: "yarn serve" o "npm serve"
Llamará desde packages.json, en el bloque "scripts"

¡El mismo problema aquí! Intenté encontrar una solución durante 3 horas, pero sin éxito.
Hoy solo pensé en agregar firebase-admin a npm global, pero no estoy seguro de si debería funcionar.
Probaré tu sugerencia

@diogolessa La degradación a firebase-tools 6.8.0 también soluciona el problema, ¿no es una opción para ti?

Claro, puede ser ... Parece un mejor enfoque. Sin embargo, sería bueno tener todas las versiones más nuevas funcionando normalmente para principiantes como yo. Gracias @ExtraBB

Lo mismo aquí ... También sucede en Linux.

EDITAR: "corrección" de degradación confirmada.

Estaba teniendo este problema, eliminé firebase-tools y reinstalé [email protected].

El mismo problema ... degradar es la única forma de hacerlo funcionar

Solo configuración que funciona actualmente
firebase-functions: 2.3.0
firebase-tools: 6.8.0
firebase-admin: 7.3.0

Hola amigos, perdón por el problema que está causando este problema. Por ahora, recomendamos cambiar a 6.8.0 mientras trabajamos en un parche.

Este problema se debe al uso del require.resolve nativo en verifyDeveloperNodeModules() donde se debe usar slowRequireResolve . El otro uso de require.resolve nativo también sufrirá el mismo problema.

Esto no se detectó en nuestras pruebas porque require.resolve resolvió las dependencias de desarrollo de firebase-tools cuando se ejecutaba en las pruebas, por lo que parecía que no había diferencia de comportamiento entre require.resolve y slowRequireResolve

Este es un error en las versiones firebase-tools 6.9.0 y 6.9.1 . La solución es degradar a 6.8.0 por ahora:

npm install -g [email protected]

ref: https://stackoverflow.com/a/56065094/4319131

Gracias por las actualizaciones. La degradación a 6.8.0 funcionó para nosotros

Esto no está documentado actualmente en los documentos de firebase para ejecutar funciones localmente y definitivamente debe estarlo si una solución aún no está lista.

Muy bien amigos, acabamos de fusionarnos en una solución para esto que saldrá en 6.9.2 hoy. Es posible que esperemos una solución para el # 1265 antes de lanzarlo, pero si eso no lo hace, saldrá como está. Una vez que esté fuera, cerraré este error, pero vuelva a abrirlo si el problema aún le sigue ocurriendo.

Corregido por # 1263

La versión 6.9.2 se ha publicado con esta corrección.

Recibiendo el siguiente error, preguntándome si está relacionado con esta nueva versión:

AssertionError [ERR_ASSERTION]: missing path
    at Module.require (module.js:595:3)
    at require (internal/module.js:11:18)
    at InitializeFirebaseAdminStubs

actualizado de 6.8.0 a 6.9.2 y ahora veo:

funciones: Usando el nodo @ 8 desde el host.

! El emulador de Cloud Functions requiere que el módulo "firebase-functions-test" se instale como una dependencia de desarrollo. Para solucionar esto, ejecute "npm install --save-dev firebase-functions-test" en su directorio de funciones.
i funciones: sus funciones no se pudieron analizar debido a un problema con sus node_modules (ver arriba)

Recibo muchos errores después de actualizar a 6.9.2.

  1. https://github.com/firebase/firebase-tools/issues/1106
  2. https://github.com/firebase/firebase-tools/issues/1265
    y algunos errores más después de intentar eliminar los existentes.
    esta actualización está mucho más rota. tuvo que degradar a 6.8.0

La versión 6.9.2 se ha lanzado con esta corrección.

La solución no se mantuvo. Estamos viendo este error en "firebase-tools": "^6.10.0" .

El emulador de Cloud Functions requiere que el módulo "firebase-admin" sea una versión> 7.0.0, por lo que tu versión es demasiado antigua. Probablemente pueda solucionar este problema ejecutando "npm install firebase-admin @ latest " en su directorio de funciones.

Hemos eliminado el ^ de nuestra dependencia package.json por ahora para evitar la actualización automática en la instalación.

"firebase-tools": "^6.8.0", // before
"firebase-tools": "6.8.0", // after

@diogolessa La degradación a firebase-tools 6.8.0 también soluciona el problema, ¿no es una opción para ti?

Gracias, me ha funcionado

¿Fue útil esta página
0 / 5 - 0 calificaciones