b2e1a93177
* refactor: remove hardcoded Google API key * address changes from review
125 lines
3.3 KiB
Markdown
125 lines
3.3 KiB
Markdown
# Environment Variables
|
|
|
|
> Control application configuration and behavior without changing code.
|
|
|
|
Certain Electron behaviors are controlled by environment variables because they
|
|
are initialized earlier than the command line flags and the app's code.
|
|
|
|
POSIX shell example:
|
|
|
|
```sh
|
|
$ export ELECTRON_ENABLE_LOGGING=true
|
|
$ electron
|
|
```
|
|
|
|
Windows console example:
|
|
|
|
```powershell
|
|
> 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 includes support for a subset of Node's [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#cli_node_options_options). The majority are supported with the exception of those which conflict with Chromium's use of BoringSSL.
|
|
|
|
Example:
|
|
|
|
```sh
|
|
export NODE_OPTIONS="--no-warnings --max-old-space-size=2048"
|
|
```
|
|
|
|
Unsupported options are:
|
|
|
|
```sh
|
|
--use-bundled-ca
|
|
--force-fips
|
|
--enable-fips
|
|
--openssl-config
|
|
--use-openssl-ca
|
|
```
|
|
|
|
`NODE_OPTIONS` are explicitly disallowed in packaged apps.
|
|
|
|
### `GOOGLE_API_KEY`
|
|
|
|
You can provide an API key for making requests to Google's geocoding webservice. To do this, place the following code in your main process
|
|
file, before opening any browser windows that will make geocoding requests:
|
|
|
|
```javascript
|
|
process.env.GOOGLE_API_KEY = 'YOUR_KEY_HERE'
|
|
```
|
|
|
|
For instructions on how to acquire a Google API key, visit [this page](https://developers.google.com/maps/documentation/javascript/get-api-key).
|
|
By default, a newly generated Google API key may not be allowed to make
|
|
geocoding requests. To enable geocoding requests, visit [this page](https://developers.google.com/maps/documentation/geocoding/get-api-key).
|
|
|
|
### `ELECTRON_NO_ASAR`
|
|
|
|
Disables ASAR support. This variable is only supported in forked child processes
|
|
and spawned child processes that set `ELECTRON_RUN_AS_NODE`.
|
|
|
|
### `ELECTRON_RUN_AS_NODE`
|
|
|
|
Starts the process as a normal Node.js process.
|
|
|
|
### `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_
|
|
|
|
Set the trash implementation on Linux. Default is `gio`.
|
|
|
|
Options:
|
|
* `gvfs-trash`
|
|
* `trash-cli`
|
|
* `kioclient5`
|
|
* `kioclient`
|
|
|
|
## Development Variables
|
|
|
|
The following environment variables are intended primarily for development and
|
|
debugging purposes.
|
|
|
|
|
|
### `ELECTRON_ENABLE_LOGGING`
|
|
|
|
Prints Chrome's internal logging to the console.
|
|
|
|
### `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`. Usage:
|
|
|
|
```sh
|
|
export ELECTRON_OVERRIDE_DIST_PATH=/Users/username/projects/electron/out/Debug
|
|
```
|