Google App Engine - Knoten: Das Modul 'Firebase-Admin' kann nicht gefunden werden

8

Beim ersten Einsatz einer GAE-App versuche ich, diesem Tutorial zu folgen: Ссылка (siehe Knotencode-Abschnitt).

Ich habe

ausgeführt %Vor%

Auf meinem Rechner ist die package.json hier, aber wenn ich gcloud app deploy verwende, erhalte ich diese Protokolle, wenn ich die App in meinem Browser öffne:

%Vor%

Wie repariere ich das?

    
ypicard 11.02.2017, 13:34
quelle

3 Antworten

13

Diese Probleme scheinen durch ein Missverständnis darüber verursacht worden zu sein, wie require() Pfade funktionieren. Sie können keinen absoluten Pfad verwenden, da etwas wie require("/Users/username/somepath") offensichtlich nicht auf dem Remotecomputer vorhanden ist, wenn die App bereitgestellt wird und der Import fehlschlägt. Die Verwendung von require("serviceAccountKey.json") wird in node_modules / serviceAccountKey.json relativ zum App-Verzeichnis aussehen.

Wenn Sie serviceAccountKey.json aus dem Stammverzeichnis der App laden möchten, verwenden Sie require("./serviceAccountKey.json") . Wenn es in einem Unterverzeichnis namens foo unter dem root wäre, würden Sie require("./foo/serviceAccountKey.json") verwenden. Dies gilt auch für Lademodule generell wie firebase-admin .

Die NodeJS-Moduldokumentation erläutert den require() -Mechanismus detaillierter.

    
Adam 06.03.2017 19:49
quelle
1

Ich könnte das Problem folgendermaßen umgehen: (Übergabe der Parameter serviceAccountkeyFile.json in App.js-Code):

%Vor%     
Marcelo Gumiero 05.03.2017 23:54
quelle
0

Ich hatte ein ähnliches Problem mit gcloud app deploy

%Vor%

Ich habe das Problem gelöst, indem ich die angegebene Abhängigkeit (wepack-dev-server) von devDependencies auf dependencies in package.json verschoben habe.

Falls jemand anderes das gleiche Problem hat, schlage ich vor, sich Ihre Abhängigkeiten in package.json anzusehen. dependencies müssen ausgeführt werden, devDependencies nur, um zu entwickeln, z. B .: Unit-Tests, Coffeescript zu Javascript-Transpilation, Minification,

    
Titogelo 18.06.2017 10:26
quelle