Firebase-tools: Firebase-Bereitstellungsfehlermeldung mit leerem firebase.json

Erstellt am 7. Juni 2017  ·  32Kommentare  ·  Quelle: firebase/firebase-tools

Ich habe heute ein wenig Projektzusammenführung durchgeführt und bin auf einen Fehler mit dem Befehl firebase deploy gestoßen.

Ich habe meine firebase.json versehentlich mit folgendem Inhalt verlassen:
{}

Und versuchte, mit firebase deploy --only database bereitzustellen, erhielt jedoch die folgende Fehlermeldung:
Error: No targets found. Valid targets are: database,storage,functions,hosting

Ich habe eine Weile gebraucht, um das herauszufinden, da ich dachte, dass dies mit den jüngsten Problemen mit nodejs v8 + der Tatsache zusammenhängt, dass ich in den letzten 6 Monaten mehrere Projekte erfolgreich bereitgestellt habe (Regeln und ein separates Funktionsprojekt mit der leeren Firebase. json) bis jetzt.

Wenn der Fehler vorgeschlagen hätte, in meine firebase.json zu schauen, hätte es geholfen 👍

Hilfreichster Kommentar

Ich bin hierher gekommen, um ein ähnliches Problem wie dieses zu öffnen.

IMO wäre es besser, die Firebase vorab mit den Standardoptionen zu füllen. Ich wähle aus, dass ich nur das Hosten der firebase.json verwenden möchte, die mit der Standard-Hosting-Option erstellt werden sollte.

{
  "hosting": {
    "public": "public"
  }
}

Alle 32 Kommentare

Ich bin hierher gekommen, um ein ähnliches Problem wie dieses zu öffnen.

IMO wäre es besser, die Firebase vorab mit den Standardoptionen zu füllen. Ich wähle aus, dass ich nur das Hosten der firebase.json verwenden möchte, die mit der Standard-Hosting-Option erstellt werden sollte.

{
  "hosting": {
    "public": "public"
  }
}

Danke für das Feedback @ahaverty ! Ich stimme zu, dass die Fehlernachricht etwas beschreibender sein könnte. Es ist etwas schwierig, da der gleiche Fehler auch auftritt, wenn jemand Zielnamen falsch geschrieben hat, wenn das Flag --only verwendet wurde (zB wenn jemand "firebase serve --only functions:funcA" ausgeführt hat und keine Funktion namens funcA hat) . Was halten Sie von einer Fehlermeldung wie der folgenden?

Fehler: Kann nicht verstehen, welche Ziele bereitgestellt werden sollen. Überprüfen Sie, ob Sie gültige Ziele angegeben haben, wenn Sie das Flag --only oder --except verwendet haben. Überprüfen Sie andernfalls Ihre firebase.json, um sicherzustellen, dass Ihr Projekt für die gewünschten Funktionen initialisiert ist.

@pedrosnk "firebase init" sollte firebase.json mit den richtigen Standardoptionen

@laurenzlong Das klingt in beiden Fällen perfekt 👌

Danke erstmal für deine Antwort :)

Ich habe herausgefunden, was mit mir passiert ist. Vielleicht ist @ahaverty dasselbe passiert.

Ich habe $ firebase init eingegeben und die Option Hosting nicht durch Drücken der Leertaste ausgewählt. Ich ging dorthin und drückte die Eingabetaste. (habe nicht die ganze Nachricht in der Cli gelesen).

Es war ausschließlich mein Fehler, aber ich fiel, als könnte dieser Fehler vermieden werden. Wenn ich in einer Funktion die Eingabetaste drücke, sollte die Cli vielleicht in der Lage sein, sie mir automatisch auszuwählen. anstatt eine leere firebase.json Datei zu generieren.

danke nochmal für dieses projekt.

Kontext zu meinem Anwendungsfall: Ich verpacke unsere Firebase-Bereitstellungsbefehle in Bash-Skripts mit einigen netten "Sind Sie sicher?"-Checks, da ich Angst habe, eines Tages unser Produktionsprojekt mit verrücktem Dev-Code zu treffen, nachdem er nicht richtig war firebase use devproject laufen lassen! Ich erzeuge auch die firebase.json über das Skript, habe aber einige Regeln. @pedrosnk Ich denke, Ihr Vorschlag würde meine Skripte brechen, aber die @laurenzlong- Fehlermeldung ist eine gute Lösung👌

Zustimmen einer besseren Fehlermeldung in diesem Fall ist gut genug

Ich stimme @pedrosnk zu, dass die Datei mit einigen Standardoptionen

{
    "hosting": {
        "public": "public",
        "rewrites": [
            {
                "source": "**",
                "destination": "/index.html"
            }
        ],
    }
}

Schließlich nutzt jeder ein SPA mit Firebase Hosting.

Habe gerade eine PR gesendet, um den Fehler zu beheben. @pedrosnk und @PierBover Was wäre, wenn Sie mit "firebase init" keinen weiteren Fortschritt

Hey @laurenzlong Ich habe hosting als ich firebase init und ich habe eine leere Datei erhalten.

@PierBover das ist dann ein Fehler. Wenn ich 'firebase init' mache und Hosting auswähle, bekomme ich dies in meiner firbase.json:

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

Könnten Sie versuchen, den Fehler zu reproduzieren? Und wenn Sie es reproduzieren können, dann ein anderes Problem melden? (Bitte geben Sie die CLI-Version und die von Ihnen verwendete Plattform an.)

Außerdem wählen Sie ein Feature durch Drücken der Leertaste aus (der Kreis wird dann ausgefüllt). Wenn Sie es ausgewählt haben, werden Sie durch einige Fragen zum Hosting geführt (Was möchten Sie als Ihr öffentliches Verzeichnis verwenden? Als Einzelseiten-App konfigurieren (alle URLs in /index.html umschreiben)?)

Sie haben Recht, ich habe wahrscheinlich die Eingabetaste anstelle der Leertaste gedrückt. Mein Fehler.

Keine Bange!

Entschuldigung, ich bin ein Neuling und dies ist die Diskussion, die dem Fehler am nächsten kommt, den ich sehe. Auf Firebase init habe ich Cloud-Funktionen gewählt und eine leere firebase.json mit geschweiften Klammern erhalten. Jetzt gibt mir die Bereitstellung "kann nicht verstehen, welche Ziele bereitgestellt werden sollen". Ist die Nutzung von Hosting eine Voraussetzung für die Nutzung von Cloud-Funktionen?

Hey @himanshugarg Ich kann deinen Fehler nicht reproduzieren, du solltest in der Lage sein, ihn bereitzustellen, nachdem du nur die Funktionen initialisiert hast. Könnten Sie bitte ein separates Problem einreichen und der Problemvorlage folgen, damit wir weitere Details erfassen können?

Danke schön! @pedrosnk

@laurenzlong danke für die Überprüfung. Es war mein Fehler. Ich hatte nur einige der Firebase-Dateien in ein anderes Verzeichnis verschoben, wodurch dies verursacht wurde. Eine saubere Initialisierung hat gut funktioniert. https://stackoverflow.com/questions/45935600/firebase-cannot-understand-what-targets-to-deploy

In der Firebase-Init-CLI kann jemand, der Klammern ( ) sieht, denken, dass es ein Optionsfeld imitiert, also wählt er eine Option und drückt die Eingabetaste. Ich schlage stattdessen eckige Klammern [ ] vor, die Multiple-Choice (Checkboxen) vorschlagen.

Ich hatte auch eine leere Datei firebase.json, weil ich die Eingabetaste gedrückt und das Leerzeichen verpasst hatte.
Ich habe die Anweisungen nicht gelesen, weil ich wusste, dass ich die Option "Hosting" auswählen muss.

"ignore": [
  "firebase.json",
  "**/.*",
  "**/node_modules/**"
]

// Vermeiden Sie das etra ',' nach der sqr-Klammer, es sei denn, Sie haben ein Argument, um dorthin zu gelangen

Ich habe auch die Eingabetaste anstelle der Leertaste gedrückt. Ich denke, es ist kein funktionales Problem, aber tatsächlich ein Usability-Problem

@lelong88 Ich glaube, das wäre vielen Leuten das erste Mal passiert.

Firebase sucht standardmäßig im Ordner 'public' nach der Datei 'index.html'.

Wenn in angle4 zum Beispiel die 'index.html' im Ordner 'dist' existiert, müssen Sie in 'firebase.json' gehen und dort einfügen:

{
"hosting": {
"öffentlich": "dist"
}
}

Dies weist die Firebase an, nach 'index.html' im Ordner 'dist' zu suchen, oder was auch immer der Ordner ist, der anstelle von 'public' aufgerufen wird.
von Kernen hast du, dass deine Datei 'index.html' aufruft.

danach:

firebase deploy

wird wahrscheinlich funktionieren

hat bei mir funktioniert!

Platz zum Auswählen von Funktionen? Bist du bekifft?

ahahahah nutzung eines raums? LMAO.
Okay, ich verstehe, warum ich jetzt eine leere Datei habe. ¯_(ツ)_/¯

[debug] [2018-06-03T15:18:34.367Z] ---------------------------------- -----------------------------------
[debug] [2018-06-03T15:18:34.371Z] Befehl: C:\Program Files\nodejs\node.exe C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolsbinfirebase init MyAssignMent
[debug] [2018-06-03T15:18:34.371Z] CLI-Version: 3.18.5
[debug] [2018-06-03T15:18:34.371Z] Plattform: win32
[debug] [2018-06-03T15:18:34.372Z] Knotenversion: v10.3.0
[debug] [2018-06-03T15:18:34.373Z] Zeit: So 03.06.2018 20:48:34 GMT+0530 (India Standard Time)
[debug] [2018-06-03T15:18:34.373Z] ---------------------------------- -----------------------------------
[debuggen]
[debug] [2018-06-03T15:18:34.388Z] > Befehl erfordert Bereiche: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https: //www.googleapis.com/auth/firebase"]
[debug] [2018-06-03T15:18:34.389Z] > Autorisierung über angemeldeten Benutzer
[die Info]
######## #### ######## ######## ######## ### ###### ##### ###
## ## ## ## ## ## ## ## ## ## ##
###### ## ######## ###### ######## ######### ###### ##### #
## ## ## ## ## ## ## ## ## ## ##
## #### ## ## ######## ######## ## ## ###### ########

Sie sind dabei, ein Firebase-Projekt in diesem Verzeichnis zu initialisieren:

C:\Benutzer\pushpendraPC\Desktop\project\NewAsignMentDeploy\AssignMent\src

Bevor wir beginnen, denken Sie daran:

  • Sie initialisieren in einem vorhandenen Firebase-Projektverzeichnis

[die Info]
=== Projekteinrichtung
[die Info]
[info] Zuerst verknüpfen wir dieses Projektverzeichnis mit einem Firebase-Projekt.
[info] Sie können mehrere Projekt-Aliasnamen erstellen, indem Sie firebase use --add ausführen,
[info] aber vorerst richten wir nur ein Standardprojekt ein.
[die Info]
[debug] [2018-06-03T15:18:36.584Z] >>> HTTP-ANFRAGE GET https://admin.firebase.com/v1/projects

So, 03.06.2018 20:48:36 GMT+0530 (Indien Standardzeit)
[debug] [2018-06-03T15:18:38.115Z] <<< HTTP-ANTWORT 200
[info] i .firebaserc hat bereits ein Standardprojekt, wird übersprungen
[die Info]
=== Meine Zuweisung einrichten
[debug] [2018-06-03T15:18:38.543Z] TypeError: features[nextFeature] ist keine Funktion
at init (C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolslib\init\index.js:13:49)
unter C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolslib\init\index.js:14:14
at process._tickCallback (internal/process/next_tick.js:68:7)
[Error]
[Fehler] Fehler: Ein unerwarteter Fehler ist aufgetreten.

Fehler anzeigen, wenn ich cmd firebase init ausführe

Hallo,
Unten war ein Fehler im Browser.

Seite nicht gefunden
Diese Datei existiert nicht und es wurde keine index.html im aktuellen Verzeichnis oder 404.html im Stammverzeichnis gefunden.

Warum sehe ich das?
Möglicherweise haben Sie das falsche Verzeichnis für Ihre Anwendung bereitgestellt. Überprüfen Sie Ihre firebase.json und stellen Sie sicher, dass das öffentliche Verzeichnis auf ein Verzeichnis verweist, das eine index.html-Datei enthält.

Sie können auch eine 404.html im Stammverzeichnis Ihrer Website hinzufügen, um diese Seite durch eine benutzerdefinierte Fehlerseite zu ersetzen.

* * * * * Befehlszeile * * * * * *
Firebase bereitstellen

=== Bereitstellung in 'organicshop-18573'...

Ich stelle Hosting bereit
i-Hosting: Dist-Verzeichnis für Upload vorbereiten...
⚠ Warnung: Öffentliches Verzeichnis enthält keine index.html
✔ Hosting: 7 Dateien erfolgreich hochgeladen

✔ Bereitstellung abgeschlossen!
* * * * Firebase.Json * * * * * **

{
"hosting": {
"öffentlich": "dist",
"ignorieren": [
"firebase.json",
" /. "," /node_modules/ "],"umschreibt": [{"Quelle": " ",
"Ziel": "/index.html"
}
]
}
}
* * Ordnerstruktur * * **
Im dist-Ordner hatte ich index.html. Aber wenn ich versuche, es bereitzustellen, wird angezeigt: "Die Datei existiert nicht und es gab keine index.html.

Geben Sie ng build und dann firebase deploy ein

Feuerbasis schlecht

Dieses ursprüngliche Problem scheint behoben zu sein. Da in letzter Zeit keine Aktivität stattgefunden hat, schließe ich dies.

Wenn jemand weitere Probleme mit firebase.json , eröffnen Sie bitte eine neue Ausgabe mit den entsprechenden Informationen!

Ich habe die bereitgestellten Lösungen befolgt, aber sie haben mein Problem nicht gelöst.

Seite ruft die Daten nicht ab, sie ist leer, aber das Favoritensymbol wird geladen. Welche Kälte ist das Problem?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen