Zum Hauptteil springen

Umgebungsvariablen

Die Konfiguration und das Verhalten des Programms kontrollieren ohne das Programm umzuschreiben.

Certain Electron behaviors are controlled by environment variables because they are initialized earlier than the command line flags and the app's code.

POSIX-Shellbeispiel:

$ export ELECTRON_ENABLE_LOGGING=true
$ electron

Windows-Konsolenbeispiel:

> set ELECTRON_ENABLE_LOGGING=true
> electron

Production Variables​

The following environment variables are intended primarily for use at runtime in packaged Electron applications.

NODE_OPTIONS​

Electron unterstützt eine Teilmenge von Nodes NODE_OPTIONS. Die Mehrheit wird unterstützt, mit Ausnahme derer, die mit der Verwendung von BoringSSL durch Chromium kollidieren.

Beispiel:

export NODE_OPTIONS="--no-warnings --max-old-space-size=2048"

Nicht unterstützte Optionen sind:

--use-bundled-ca
--force-fips
--enable-fips
--openssl-config
--use-openssl-ca

NODE_OPTIONS are explicitly disallowed in packaged apps, except for the following:

--max-http-header-size
--http-parser

If the nodeOptions fuse is disabled, NODE_OPTIONS will be ignored.

NODE_EXTRA_CA_CERTS​

See Node.js cli documentation for details.

export NODE_EXTRA_CA_CERTS=/path/to/cert.pem

If the nodeOptions fuse is disabled, NODE_EXTRA_CA_CERTS will be ignored.

GOOGLE_API_KEY​

Geolocation support in Electron requires the use of Google Cloud Platform's geolocation webservice. To enable this feature, acquire a Google API key and place the following code in your main process file, before opening any browser windows that will make geolocation requests:

process.env.GOOGLE_API_KEY = 'YOUR_KEY_HERE'

Standardmäßig darf ein neu generierter Google-API-Schlüssel möglicherweise keine Geolocationsanfragen stellen. Um den Geolocation-Webservice für Ihr Projekt zu aktivieren, aktivieren Sie ihn über die API-Bibliothek.

Vorsicht. Sie müssen ein Abrechnungskonto zum Projekt hinzufügen, das dem API-Schlüssel zugeordnet ist, damit der Geolocation Webservice funktioniert.

ELECTRON_NO_ASAR​

Deaktiviert ASAR-Unterstützung. This variable is only supported in forked child processes and spawned child processes that set ELECTRON_RUN_AS_NODE.

ELECTRON_RUN_AS_NODE​

Startet den Prozess als normalen Node.js-Prozess.

In this mode, you will be able to pass cli options to Node.js as you would when running the normal Node.js executable, with the exception of the following flags:

  • "--openssl-config"
  • "--use-bundled-ca"
  • "--use-openssl-ca",
  • "--force-fips"
  • "--enable-fips"

These flags are disabled owing to the fact that Electron uses BoringSSL instead of OpenSSL when building Node.js' crypto module, and so will not work as designed.

If the runAsNode fuse is disabled, ELECTRON_RUN_AS_NODE will be ignored.

ELECTRON_NO_ATTACH_CONSOLE Windows​

Don't attach to the current console session.

ELECTRON_FORCE_WINDOW_MENU_BAR Linux​

Don't use the global menu bar on Linux.

ELECTRON_TRASH Linux​

Legt die Papierkorb-Implementierung unter Linux fest. Standard ist gio.

Optionen:

  • gvfs-trash
  • trash-cli
  • kioclient5
  • kioclient

Development Variables​

The following environment variables are intended primarily for development and debugging purposes.

ELECTRON_ENABLE_LOGGING​

Prints Chromium's internal logging to the console.

Setting this variable is the same as passing --enable-logging on the command line. For more info, see --enable-logging in command-line switches.

ELECTRON_LOG_FILE​

Sets the file destination for Chromium's internal logging.

Setting this variable is the same as passing --log-file on the command line. For more info, see --log-file in command-line switches.

ELECTRON_DEBUG_NOTIFICATIONS​

Adds extra logs to Notification lifecycles on macOS to aid in debugging. Extra logging will be displayed when new Notifications are created or activated. They will also be displayed when common actions are taken: a notification is shown, dismissed, its button is clicked, or it is replied to.

Beispielausgabe:

Notification created (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
Notification displayed (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
Notification activated (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
Notification replied to (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)

ELECTRON_DEBUG_MSIX_UPDATER​

Adds extra logs to MSIX updater operations on Windows to aid in debugging. Extra logging will be displayed when MSIX update operations are initiated, including package updates, package registration, and restart registration. This helps diagnose issues with MSIX package updates and deployments.

Beispielausgabe:

UpdateMsix called with URI: https://example.com/app.msix
DoUpdateMsix: Starting
Calling AddPackageByUriAsync... URI: https://example.com/app.msix
Update options - deferRegistration: true, developerMode: false, forceShutdown: false, forceTargetShutdown: false, forceUpdateFromAnyVersion: false
Waiting for deployment...
Deployment finished.
MSIX Deployment completed.

ELECTRON_LOG_ASAR_READS​

When Electron reads from an ASAR file, log the read offset and file path to the system tmpdir. The resulting file can be provided to the ASAR module to optimize file ordering.

ELECTRON_ENABLE_STACK_DUMPING​

Prints the stack trace to the console when Electron crashes.

This environment variable will not work if the crashReporter is started.

ELECTRON_DEFAULT_ERROR_MODE Windows​

Shows the Windows's crash dialog when Electron crashes.

This environment variable will not work if the crashReporter is started.

ELECTRON_OVERRIDE_DIST_PATH​

When running from the electron package, this variable tells the electron command to use the specified build of Electron instead of the one downloaded by npm install. Nutzung:

export ELECTRON_OVERRIDE_DIST_PATH=/Users/username/projects/electron/out/Testing

ELECTRON_INSTALL_PLATFORM​

Manually overrides platform used by electron package during an install. This can be useful if you are on one platform (e.g macOS) but want to download binaries for another platform (e.g Windows or Linux). Nutzung:

ELECTRON_INSTALL_PLATFORM=darwin npm install

ELECTRON_INSTALL_ARCH​

Manually overrides architecture used by electron package during an install. This can be useful if you are on one arch (e.g arm64) but want to download binaries meant for another arch. Note that this will not work under Rosetta. Nutzung:

ELECTRON_INSTALL_ARCH=arm64 npm install