Firebase-tools: verifyDeveloperNodeModules () erkennt "firebase-admin" nicht

Erstellt am 9. Mai 2019  ·  26Kommentare  ·  Quelle: firebase/firebase-tools

Verwandte Themen

1243 und # 1258

[ERFORDERLICH] Versionsinfo

Knoten: 8.16.0

Firebase-Funktionen: 2.3.0

Firebase-Tools: 6.9.1 (HINWEIS : Funktioniert unter 6.8.0)

firebase-admin: 7.3.0

Ich führe dies unter Windows 10 aus.

[ERFORDERLICH] Testfall


Ein frisch generiertes Firebase-Projekt mit firebase init und Funktionen.

[ERFORDERLICH] Schritte zum Reproduzieren

  1. Führen Sie npm run start (oder firebase functions:shell ) aus.

[ERFORDERLICH] Erwartetes Verhalten


Der Emulator startet korrekt

[ERFORDERLICH] Tatsächliches Verhalten

Die folgenden Protokolle werden angezeigt:

!  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)

Konnten Sie Ihre Funktionen erfolgreich bereitstellen?


Ja, die Bereitstellung funktioniert einwandfrei. Die bereitgestellte Funktion (Hallo Welt) ebenfalls

emulator-suite bug

Hilfreichster Kommentar

Dies ist ein Fehler in den Versionen firebase-tools 6.9.0 und 6.9.1 . Die Lösung besteht darin, vorerst ein Downgrade auf 6.8.0 durchzuführen:

npm install -g [email protected]

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

Alle 26 Kommentare

Ich konnte nicht herausfinden, wie ich dieses Problem kennzeichnen soll, also habe ich es für einen Menschen zur Triage gekennzeichnet. Bleib 'dabei.

Wechseln Sie zu Firebase-Tools, da dort die Emulation implementiert wird.

Der Emulator arbeitet mit [email protected] . Dieses Problem hängt wahrscheinlich mit # 1243 und # 1258 zusammen

Das gleiche Problem erleben:

✔  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"
  },

Obwohl das Paket firebase-admin in node_modules vorhanden ist.

[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)

Ich habe die gleiche und gefundene Lösung:
Sie können den Alias-Befehl wie folgt verwenden: "Garnaufschlag" oder "npm Aufschlag"
Es wird von der Datei packages.json im Block "scripts" aufgerufen

Gleiches Problem hier! Es wurde versucht, innerhalb von 3 Stunden eine Problemumgehung zu finden, jedoch ohne Erfolg.
Heute habe ich nur darüber nachgedacht, firebase-admin zu globalem npm hinzuzufügen, bin mir aber nicht sicher, ob es funktionieren soll.
Werde deinen Vorschlag @namcoder ausprobieren

@diogolessa Ein Downgrade auf Firebase-Tools 6.8.0 behebt ebenfalls das Problem. Ist das keine Option für Sie?

Sicher, kann sein ... Sieht nach einem besseren Ansatz aus. Es wäre jedoch schön, wenn die neuesten Versionen für Anfänger wie mich normal funktionieren würden. Danke @ExtraBB

Gleiches hier ... Es passiert auch unter Linux.

EDIT: Downgrade "Fix" bestätigt.

Ich hatte dieses Problem Ich habe Firebase-Tools entfernt und [email protected] neu installiert

Gleiches Problem. Ein Downgrade ist der einzige Weg, damit es funktioniert

Nur die Einstellung, die derzeit funktioniert
Firebase-Funktionen: 2.3.0
Firebase-Tools: 6.8.0
firebase-admin: 7.3.0

Hey Leute, entschuldigen Sie die Probleme, die dieses Problem verursacht. Im Moment empfehlen wir ein Downgrade auf 6.8.0 während wir an einem Patch arbeiten.

Dieses Problem wird durch die Verwendung des nativen require.resolve in verifyDeveloperNodeModules() wobei slowRequireResolve verwendet werden sollte. Die andere Verwendung von nativem require.resolve leidet ebenfalls unter dem gleichen Problem.

Dies wurde in unseren Tests nicht berücksichtigt, da require.resolve beim Ausführen von Tests in die Entwicklungsabhängigkeiten von firebase-tools , sodass es den Anschein hatte, dass es keinen Verhaltensunterschied zwischen require.resolve und gab slowRequireResolve

Dies ist ein Fehler in den Versionen firebase-tools 6.9.0 und 6.9.1 . Die Lösung besteht darin, vorerst ein Downgrade auf 6.8.0 durchzuführen:

npm install -g [email protected]

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

Vielen Dank für die Updates. Ein Downgrade auf 6.8.0 hat bei uns funktioniert

Dies ist derzeit in den Firebase-Dokumenten zum lokalen Ausführen von Funktionen nicht dokumentiert und muss unbedingt vorhanden sein, wenn ein Fix noch nicht fertig ist.

Okay Leute, wir haben gerade einen Fix für dieses Problem zusammengeführt, der heute in 6.9.2 wird. Wir warten möglicherweise auf ein Update für # 1265, bevor wir es veröffentlichen, aber wenn das nicht gelingt, wird dies so wie es ist ausgehen. Sobald es heraus ist, werde ich diesen Fehler schließen, aber bitte wieder öffnen, wenn das Problem für Sie immer noch auftritt.

Behoben durch # 1263

Version 6.9.2 wurde mit diesem Fix veröffentlicht.

Wenn Sie den folgenden Fehler erhalten und sich fragen, ob er mit dieser neuen Version zusammenhängt:

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

aktualisiert von 6.8.0 auf 6.9.2 und sehe jetzt:

Funktionen: Verwenden von Node @ 8 vom Host.

! Für den Cloud Functions-Emulator muss das Modul "firebase-functions-test" als Entwicklungsabhängigkeit installiert sein. Um dies zu beheben, führen Sie "npm install --save-dev firebase-functions-test" in Ihrem Funktionsverzeichnis aus.
i-Funktionen: Ihre Funktionen konnten aufgrund eines Problems mit Ihren node_modules nicht analysiert werden (siehe oben).

Nach dem Upgrade auf 6.9.2 werden viele Fehler angezeigt.

  1. https://github.com/firebase/firebase-tools/issues/1106
  2. https://github.com/firebase/firebase-tools/issues/1265
    und ein paar weitere Fehler, nachdem versucht wurde, die vorhandenen zu beseitigen.
    Dieses Upgrade ist viel mehr kaputt. musste auf 6.8.0 herabstufen

Version 6.9.2 wurde mit diesem Fix veröffentlicht.

Das Update blieb nicht hängen. Wir sehen diesen Fehler in "firebase-tools": "^6.10.0" .

Für den Cloud Functions-Emulator muss das Modul "firebase-admin" Version> 7.0.0 sein, damit Ihre Version zu alt ist. Sie können dies wahrscheinlich beheben, indem Sie "npm install firebase-admin @ latest " in Ihrem Funktionsverzeichnis ausführen.

Wir haben die ^ vorerst aus unserer package.json-Abhängigkeit entfernt, um das automatische Upgrade bei der Installation zu verhindern.

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

@diogolessa Ein Downgrade auf Firebase-Tools 6.8.0 behebt ebenfalls das Problem. Ist das keine Option für Sie?

Danke, es hat bei mir funktioniert

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen