Linux "node" Command Line Options and Examples
server-side JavaScript runtime

Node.js is a set of libraries for JavaScript which allows it to be used outside of the browser. It is primarily focused on creating simple, easy-to-build network clients and servers.


Usage:

node [options] [v8-options] [-e string | script.js | -] [--] [arguments ...]
   node inspect [-e string | script.js | - | :] ...
   node [--v8-options]




Command Line Options:

--
If no script filename or eval/print script is supplied prior to this, then the next argument will beused as a script filename.
node -- ...
--abort-on-uncaught-exception
Aborting instead of exiting causes a core file to be generated for analysis.
node --abort-on-uncaught-exception ...
--completion-bash
Print source-able bash completion script for Node.js.
node --completion-bash ...
--cpu-prof
Start the V8 CPU profiler on start up, and write the CPU profile to disk before exit. If --cpu-prof-diris not specified, the profile will be written to the current working directory with a generated filename.
node --cpu-prof ...
--cpu-prof-dir
The directory where the CPU profiles generated by --cpu-prof will be placed.
node --cpu-prof-dir ...
--cpu-prof-interval
The sampling interval in microseconds for the CPU profiles generated by --cpu-prof. The default is1000.
node --cpu-prof-interval ...
--cpu-prof-name
File name of the V8 CPU profile generated with --cpu-prof
node --cpu-prof-name ...
--enable-fips
Enable FIPS-compliant crypto at startup. Requires Node.js to be built with ./configure --openssl-fips.
node --enable-fips ...
--es-module-specifier-resolution
Select extension resolution algorithm for ES Modules; either 'explicit' (default) or 'node'
node --es-module-specifier-resolution ...
--experimental-json-modules
Enable experimental JSON interop support for the ES Module loader.
node --experimental-json-modules ...
--experimental-modules
Enable experimental ES module support and caching modules.
node --experimental-modules ...
--experimental-policy
Use the specified file as a security policy.
node --experimental-policy ...
--experimental-repl-await
Enable experimental top-level await keyword support in REPL.
node --experimental-repl-await ...
--experimental-report
Enable experimental diagnostic report feature.
node --experimental-report ...
--experimental-vm-modules
Enable experimental ES module support in VM module.
node --experimental-vm-modules ...
--experimental-wasm-modules
Enable experimental WebAssembly module support.
node --experimental-wasm-modules ...
--force-fips
Force FIPS-compliant crypto on startup (Cannot be disabled from script code). Same requirements as
node --force-fips ...
--frozen-intrinsics
Enable experimental frozen intrinsics support.
node --frozen-intrinsics ...
--heapsnapshot-signal
Generate heap snapshot on specified signal.
node --heapsnapshot-signal ...
--heap-prof
Start the V8 heap profiler on start up, and write the heap profile to disk before exit. If
node --heap-prof ...
--heap-prof-dir
The directory where the heap profiles generated by --heap-prof will be placed.
node --heap-prof-dir ...
--heap-prof-interval
The average sampling interval in bytes for the heap profiles generated by --heap-prof. The default is512 * 1024.
node --heap-prof-interval ...
--heap-prof-name
File name of the V8 heap profile generated with --heap-prof
node --heap-prof-name ...
--http-parser
Chooses an HTTP parser library. Available values are llhttp or legacy.
node --http-parser ...
--http-server-default-timeout
Overrides the default value for server socket timeout.
node --http-server-default-timeout ...
--icu-data-dir
Specify ICU data load path. Overrides NODE_ICU_DATA.
node --icu-data-dir ...
--input-type
Set the module resolution type for input via --eval, --print or STDIN.
node --input-type ...
--inspect-brk
Activate inspector on host:port and break at start of user script.
node --inspect-brk ...
--inspect-port
Set the host:port to be used when the inspector is activated.
node --inspect-port ...
--inspect
Activate inspector on host:port. Default is 127.0.0.1:9229.V8 Inspector integration allows attaching Chrome DevTools and IDEs to Node.js instances for debuggingand profiling. It uses the Chrome DevTools Protocol.
node --inspect ...
--experimental-loader
Specify the module as a custom loader, to load --experimental-modules.
node --experimental-loader ...
--max-http-header-size
Specify the maximum size of HTTP headers in bytes. Defaults to 8KB.
node --max-http-header-size ...
--napi-modules
This option is a no-op. It is kept for compatibility.
node --napi-modules ...
--no-deprecation
Silence deprecation warnings.
node --no-deprecation ...
--no-force-async-hooks-checks
Disable runtime checks for `async_hooks`. These will still be enabled dynamically when `async_hooks` isenabled.
node --no-force-async-hooks-checks ...
--no-warnings
Silence all process warnings (including deprecations).
node --no-warnings ...
--openssl-config
Load an OpenSSL configuration file on startup. Among other uses, this can be used to enable FIPS-com‐pliant crypto if Node.js is built with ./configure --openssl-fips.
node --openssl-config ...
--pending-deprecation
Emit pending deprecation warnings.
node --pending-deprecation ...
--policy-integrity
Instructs Node.js to error prior to running any code if the policy does not have the specifiedintegrity. It expects a Subresource Integrity string as a parameter.
node --policy-integrity ...
--preserve-symlinks
Instructs the module loader to preserve symbolic links when resolving and caching modules other than themain module.
node --preserve-symlinks ...
--preserve-symlinks-main
Instructs the module loader to preserve symbolic links when resolving and caching the main module.
node --preserve-symlinks-main ...
--prof
Generate V8 profiler output.
node --prof ...
--prof-process
Process V8 profiler output generated using the V8 option --prof.
node --prof-process ...
--redirect-warnings
Write process warnings to the given file instead of printing to stderr.
node --redirect-warnings ...
--report-directory
Location at which the diagnostic report will be generated.
node --report-directory ...
--report-filename
Name of the file to which the diagnostic report will be written.
node --report-filename ...
--report-on-fatalerror
Enables the diagnostic report to be triggered on fatal errors (internal errors within the Node.js run‐time such as out of memory) that leads to termination of the application, if --experimental-report isenabled. Useful to inspect various diagnostic data elements such as heap, stack, event loop state,resource consumption etc. to reason about the fatal error.
node --report-on-fatalerror ...
--report-on-signal
Enables diagnostic report to be generated upon receiving the specified (or predefined) signal to therunning Node.js process, if --experimental-report is enabled. Default signal is SIGUSR2.
node --report-on-signal ...
--report-signal
Sets or resets the signal for diagnostic report generation (not supported on Windows). Default signal isSIGUSR2.
node --report-signal ...
--report-uncaught-exception
Enables diagnostic report to be generated on un-caught exceptions, if --experimental-report is enabled.Useful when inspecting JavaScript stack in conjunction with native stack and other runtime environmentdata.
node --report-uncaught-exception ...
--throw-deprecation
Throw errors for deprecations.
node --throw-deprecation ...
--title
Specify process.title on startup.
node --title ...
--tls-cipher-list
Specify an alternative default TLS cipher list. Requires Node.js to be built with crypto support.(Default)
node --tls-cipher-list ...
--tls-max-v1.2
Set default maxVersion to 'TLSv1.2'. Use to disable support for TLSv1.3.
node --tls-max-v1.2 ...
--tls-max-v1.3
Set default maxVersion to 'TLSv1.3'. Use to enable support for TLSv1.3.
node --tls-max-v1.3 ...
--tls-min-v1.0
Set default minVersion to 'TLSv1'. Use for compatibility with old TLS clients or servers.
node --tls-min-v1.0 ...
--tls-min-v1.1
Set default minVersion to 'TLSv1.1'. Use for compatibility with old TLS clients or servers.
node --tls-min-v1.1 ...
--tls-min-v1.2
Set default minVersion to 'TLSv1.2'. This is the default for 12.x and later, but the option is supportedfor compatibility with older Node.js versions.
node --tls-min-v1.2 ...
--tls-min-v1.3
Set default minVersion to 'TLSv1.3'. Use to disable support for TLSv1.2 in favour of TLSv1.3, which ismore secure.
node --tls-min-v1.3 ...
--trace-deprecation
Print stack traces for deprecations.
node --trace-deprecation ...
--trace-event-categories
A comma-separated list of categories that should be traced when trace event tracing is enabled using
node --trace-event-categories ...
--trace-event-file-pattern
Template string specifying the filepath for the trace event data, it supports ${rotation} and ${pid}.
node --trace-event-file-pattern ...
--trace-events-enabled
Enable the collection of trace event tracing information.
node --trace-events-enabled ...
--trace-sync-io
Print a stack trace whenever synchronous I/O is detected after the first turn of the event loop.
node --trace-sync-io ...
--trace-tls
Prints TLS packet trace information to stderr.
node --trace-tls ...
--trace-warnings
Print stack traces for process warnings (including deprecations).
node --trace-warnings ...
--track-heap-objects
Track heap object allocations for heap snapshots.
node --track-heap-objects ...
--use-bundled-ca
Use bundled Mozilla CA store as supplied by current Node.js version or use OpenSSL's default CA store.The default store is selectable at build-time.The bundled CA store, as supplied by Node.js, is a snapshot of Mozilla CA store that is fixed at releasetime. It is identical on all supported platforms.Using OpenSSL store allows for external modifications of the store. For most Linux and BSD distribu‐tions, this store is maintained by the distribution maintainers and system administrators. OpenSSL CAstore location is dependent on configuration of the OpenSSL library but this can be altered at runtimeusing environment variables.See SSL_CERT_DIR and SSL_CERT_FILE.
node --use-bundled-ca ...
--v8-options
Print V8 command-line options.
node --v8-options ...
--v8-pool-size
Set V8's thread pool size which will be used to allocate background jobs. If set to 0 then V8 willchoose an appropriate size of the thread pool based on the number of online processors. If the valueprovided is larger than V8's maximum, then the largest value will be chosen.
node --v8-pool-size ...
--zero-fill-buffers
Automatically zero-fills all newly allocated Buffer and SlowBuffer instances.
node --zero-fill-buffers ...
-c
Check the script's syntax without executing it. Exits with an error code if script is invalid.
node -c ...
-e
Evaluate string as JavaScript.
node -e ...
-h
Print command-line options. The output of this option is less detailed than this document.
node -h ...
-i
Open the REPL even if stdin does not appear to be a terminal.
node -i ...
-p
Identical to -e, but prints the result.
node -p ...
-r
Preload the specified module at startup. Follows `require()`'s module resolution rules. module may beeither a path to a file, or a Node.js module name.
node -r ...
-v
Print node's version.ENVIRONMENTNODE_DEBUG modules...Comma-separated list of core modules that should print debug information.NODE_DEBUG_NATIVE modules...Comma-separated list of C++ core modules that should print debug information.NODE_DISABLE_COLORSWhen set to 1, colors will not be used in the REPL.NODE_EXTRA_CA_CERTS fileWhen set, the well-known “root” CAs (like VeriSign) will be extended with the extra certificates infile. The file should consist of one or more trusted certificates in PEM format.If file is missing or misformatted, a message will be emitted once using process.emitWarning(), but anyerrors are otherwise ignored.This environment variable is ignored when `node` runs as setuid root or has Linux file capabilities set.NODE_ICU_DATA fileData path for ICU (Intl object) data. Will extend linked-in data when compiled with small-icu support.NODE_NO_WARNINGSWhen set to 1, process warnings are silenced.NODE_OPTIONS options...A space-separated list of command-line options, which are interpreted as if they had been specified onthe command-line before the actual command (so they can be overridden). Node.js will exit with an errorif an option that is not allowed in the environment is used, such as --print or a script file.NODE_PATH directories...A colon-separated list of directories prefixed to the module search path.NODE_PENDING_DEPRECATIONWhen set to 1, emit pending deprecation warnings.NODE_PRESERVE_SYMLINKSWhen set to 1, the module loader preserves symbolic links when resolving and caching modules.NODE_REDIRECT_WARNINGS fileWrite process warnings to the given file instead of printing to stderr. Equivalent to passing
node -v ...