.env-Portabilität prüfen

Füge eine .env-Datei ein, um Werte zu finden, die Node `dotenv`, Docker/Docker Compose und POSIX-Shells unterschiedlich interpretieren oder ablehnen können. Inhalte werden lokal im Browser verarbeitet; echte .env-Dateien enthalten oft Geheimnisse.

Die Verarbeitung erfolgt lokal in Ihrem Browser. Ihre Datei wird niemals hochgeladen.

Anleitung Tool

  1. Füge .env-Inhalt oder einen repräsentativen Ausschnitt ein; er wird nicht hochgeladen.
  2. Starte die Analyse.
  3. Prüfe markierte Zeilen und Unterschiede zwischen dotenv, Compose und POSIX-Shell.
  4. Übernimm eindeutige Umschreibungen. Nicht geschlossene Anführungszeichen, doppelte Schlüssel und Interpolation werden nicht erraten.

Annahmen

Quellen und Referenzdaten

Methodik

Prüft zeilenweise dokumentierte Unterschiede: unzitierte Leerzeichen und `#`, `export`, nicht geschlossene Anführungszeichen, `$VAR`/`${VAR}`-Interpolation, doppelte Schlüssel, nachgestellte Leerzeichen und ungültige Shell-Bezeichner. Nur Zitate setzen, nachgestellte Leerzeichen entfernen und `export` entfernen werden als eindeutige Korrekturen angeboten.

Rechenbeispiel

Variablenverweis

Eingaben: API_URL=${BASE_URL}/api

Ergebnis: `dotenv` expandiert `${BASE_URL}` standardmäßig nicht; Compose und POSIX-Shell können interpolieren. Ob Expansion beabsichtigt ist, wird nicht geraten.

export-Präfix

Eingaben: export APP_NAME=My Example App

Ergebnis: Gültige POSIX-Shell, aber dotenv und Compose behandeln `export` unterschiedlich. Zusätzlich ist der unzitierte Wert mit Leerzeichen problematisch.

Doppelter Schlüssel

Eingaben: TIMEOUT=30 TIMEOUT=60

Ergebnis: Viele Parser behalten stillschweigend nur den letzten Wert. Die zweite Zeile überschreibt TIMEOUT=30.

Praktische Hinweise
Häufige Fehler

Häufige Fragen

Ist es sicher, hier echte Geheimnisse einzufügen?

Der Inhalt wird im Browser analysiert und nicht übermittelt. Die Website erfasst allgemeine Seitenanalyse, aber nicht den eingefügten Inhalt. Verwende dennoch einen gleich geformten Platzhalter, wenn du unsicher bist.

Warum wird Interpolation in Compose, aber nicht standardmäßig in Node dotenv ausgeführt?

Docker Compose interpoliert Variablen in seiner Konfiguration; das Paket `dotenv` expandiert Referenzen standardmäßig nicht. Häufig ist dafür ein Zusatzpaket wie `dotenv-expand` nötig. Das Werkzeug führt keinen der Parser aus.

Warum werden doppelte Schlüssel nicht automatisch korrigiert?

Es müsste geraten werden, welcher Wert beabsichtigt ist. Das Werkzeug markiert den Konflikt, statt Inhalte stillschweigend zu ändern.

Zuletzt geprüft:

Formprüfer statt vollständigem Shell- oder Compose-Parser. Er erkennt die konventionelle KEY=value-Form und die aufgeführten Abweichungen, nicht jeden Sonderfall realer Parser.

Design- und Tool-Einstellungen sowie gespeicherte und zuletzt verwendete Listen werden nur in diesem Browser gespeichert.