Fehlersuche
Wenn du Probleme mit deiner statischen Website hast, findest du im Folgenden Tipps und Lösungen für häufige Fehler.
403-Error
Wenn die Bereitstellung deiner Website ohne Fehler abgeschlossen wurde, du aber eine 403-Fehlermeldung siehst, wenn du versuchst, die Website in deinem Browser aufzurufen, gibt es einige Dinge, die du überprüfen solltest:
- Wenn deine Website von einem Build-Schritt abhängt, ist der Befehl Build (Einstellungen > Grundlegende Details) ausgefüllt und korrekt?
- Ist das Veröffentlichungsverzeichnis korrekt?
- Sind deine Dateiberechtigungen* korrekt? Für statische Websites empfehlen wir im Allgemeinen die folgenden Berechtigungen:
- Verzeichnisse: 755
- Dateien: 644
*Die Dateiberechtigungen legen fest, wer was darf:
- Lesen: Den Inhalt einer Datei sehen oder Dateien in einem Verzeichnis anzeigen.
- Schreiben: Eine Datei ändern, oder Dateien in einem Verzeichnis hinzufügen oder löschen.
- Ausführen: Eine Datei ausführen und/oder sie als Skript ausführen oder auf ein Verzeichnis zugreifen und Funktionen und Befehle ausführen.
Jede Datei und jedes Verzeichnis hat ihre eigenen Dateiberechtigungen, die als dreistellige Zahl angezeigt werden. Jede Zahl gibt die Berechtigungsstufe für jede der oben genannten Kategorien (Lesen, Schreiben und Ausführen) an.
404 Fehler
Wenn die Bereitstellung deiner Website ohne Fehler abgeschlossen wurde, du aber einen 404-Fehler siehst, wenn du versuchst, die Website in deinem Browser aufzurufen, gibt es ein paar Dinge zu überprüfen:
- Wenn deine Website von einem Build-Schritt abhängt, ist der Build-Befehl (Einstellungen > Grundlegende Details) ausgefüllt und korrekt?
- Ist das Veröffentlichungsverzeichnis korrekt?
- Ist dein Repository mit Static Site Hosting kompatibel? Es sollte eins der beiden Voraussetzungen vorweisen:
- Ein statisches Website-Framework, das Node.js für den Build-Schritt verwendet.
- Oder statische Dateien wie HTML, CSS und Javascript, die keinen Build-Schritt benötigen (lass den Build-Befehl leer).
Der Build-Befehl teilt unserem System mit, wie es deine Website zusammenstellen soll, und das Publish-Verzeichnis ist das Unterverzeichnis, in dem sich die fertigen Website-Dateien befinden, relativ zum Stammverzeichnis deines Repositorys. Es ist wichtig, dass du diese Felder korrekt ausfüllst, wenn deine Website von einem Build-Schritt abhängt. So wird sichergestellt, dass deine Website so gebaut und bereitgestellt wird, wie du es möchtest. Wenn du den Befehl Build nicht ausfüllst, zeigt das System zwar an, dass die Bereitstellung abgeschlossen ist, lädt aber nur den nicht gebauten Inhalt deines Projektarchivs hoch.
Falsche Knotenpunktversion
Wenn du einen Build-Befehl für deine Website eingibst, kannst du die zu verwendende Node-Version auswählen. Wenn du die falsche Version auswählst, schlägt das Deployment fehl und es erscheint eine Fehlermeldung im Build- und Rollout-Protokoll, die darauf hinweist, dass eine andere Node.js-Version benötigt wird, ähnlich wie die folgende:
"Build project": error [email protected]: The engine "node" is incompatible with this module. Expected version "16.14.0". Got "16.20.0"
Überprüfe die Einstellungen deiner statischen Website, ändere die Node-Version nach Bedarf und verteile die Website erneut manuell (klicke auf der Verteilungsseite auf „Jetzt deployen„).
Paketmanager kann nicht bestimmt werden
Wenn ein Problem mit dem Build-Befehl oder der Konfigurationsdatei auftritt, wird möglicherweise die folgende Fehlermeldung angezeigt:
Error: Unable to determine package manager
Dieser Fehler tritt normalerweise aufgrund eines falschen Build-Befehls oder einer fehlenden oder falsch konfigurierten package.json-Datei auf. Hier sind ein paar Dinge, die du überprüfen solltest:
- Ist der Build-Befehl (Einstellungen > Grundlegende Details) ausgefüllt und korrekt?
- Befindet sich die package.json-Datei in deinem Git-Repository?
- Ist die package.json-Datei richtig konfiguriert, einschließlich aller widersprüchlichen Node-Versionen? Du könntest zum Beispiel die Node-Version 18.16.0 gewählt haben, als du die statische Website hinzugefügt hast, aber in der package.json-Datei eine andere Node-Version angegeben haben, wie im folgenden Beispiel:
"engines": { "node": ">=20.0.0" },