.TH NODE 1 2016 Node.js Node.js

.\" This is a man page comment.

.\" Man page syntax (actually roff syntax) is somewhat obscure, but the
.\" important part is is that .<letter> specifies <letter>'s syntax for that
.\" line, and \f<letter> specifies it for the characters that follow.

.\" .B   Bold line
.\" .I   Italic line (Rendered as underlined text in terminals)
.\" .BI  Alternating bold/italics without spaces between arguments.
.\"      Use `\ ` to include an "unpaddable" (literal) space in the output.
.\" .RI  Alternating roman/italic

.\" See http://liw.fi/manpages/ for an overview, or http://www.troff.org/54.pdf
.\" for detailed language reference.

.\" Macro to display an underlined URL in bold
.de ur
.nr CF \\n(.f
.ft 4
\\$1
.ft \\n(CF
..


.SH NAME

node \- Server-side JavaScript runtime


.SH SYNOPSIS

.B node
.RI [ options ]
.RI [ v8\ options ]
.RI [ script.js \ |
.B -e
.RI \&" script \&"]
.B [--]
.RI [ arguments ]
.br
.B node debug
.RI [ script.js " | "
.B \-e
.RI \&" script \&"\ |
.IR <host>:<port> ]
.I ...
.br
.B node
.RB [ \-\-v8-options ]

Execute without arguments to start the REPL.


.SH DESCRIPTION

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.


.SH OPTIONS

.TP
.BR \-v ", " \-\-version
Print node's version.

.TP
.BR \-h ", " \-\-help
Print node command line options.
The output of this option is less detailed than this document.

.TP
.BR \-e ", " \-\-eval " " \fR"\fIscript\fR"
Evaluate the following argument as JavaScript.

.TP
.BR \-p ", " \-\-print " " \fR"\fIscript\fR"
Identical to \fB-e\fR but prints the result.

.TP
.BR \-c ", " \-\-check
Syntax check the script without executing.

.TP
.BR \-i ", " \-\-interactive
Open the REPL even if stdin does not appear to be a terminal.

.TP
.BR \-r ", " \-\-require " " \fImodule\fR
Preload the specified module at startup. Follows `require()`'s module resolution
rules. \fImodule\fR may be either a path to a file, or a node module name.

.TP
.BR \-\-inspect \fI[=[host:]port]\fR
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 debugging and profiling. It uses the Chrome Debugging Protocol.

.TP
.BR \-\-inspect-brk \fI[=[host:]port]\fR
Activate inspector on host:port and break at start of user script.

.TP
.BR \-\-no\-deprecation
Silence deprecation warnings.

.TP
.BR \-\-trace\-deprecation
Print stack traces for deprecations.

.TP
.BR \-\-throw\-deprecation
Throw errors for deprecations.

.TP
.BR \-\-no\-warnings
Silence all process warnings (including deprecations).

.TP
.BR \-\-napi\-modules
Enable loading native modules compiled with the ABI-stable Node.js API (N-API)
(experimental).

.TP
.BR \-\-trace\-warnings
Print stack traces for process warnings (including deprecations).

.TP
.BR \-\-redirect\-warnings=\fIfile\fR
Write process warnings to the given file instead of printing to stderr.

.TP
.BR \-\-trace\-sync\-io
Print a stack trace whenever synchronous I/O is detected after the first turn
of the event loop.

.TP
.BR \-\-trace\-events\-enabled
Enables the collection of trace event tracing information.

.TP
.BR \-\-trace\-event\-categories " " \fIcategories\fR
A comma separated list of categories that should be traced when trace event
tracing is enabled using \fB--trace-events-enabled\fR.

.TP
.BR \-\-zero\-fill\-buffers
Automatically zero-fills all newly allocated Buffer and SlowBuffer instances.

.TP
.BR \-\-preserve\-symlinks
Instructs the module loader to preserve symbolic links when resolving and
caching modules.

.TP
.BR \-\-track\-heap-objects
Track heap object allocations for heap snapshots.

.TP
.BR \-\-prof\-process
Process v8 profiler output generated using the v8 option \fB\-\-prof\fR

.TP
.BR \-\-v8\-options
Print v8 command line options.

Note: v8 options allow words to be separated by both dashes (\fB-\fR) or
underscores (\fB_\fR).

For example, \fB\-\-stack\-trace\-limit\fR is equivalent to
\fB\-\-stack\_trace\_limit\fR

.TP
.BR \-\-v8\-pool\-size =\fInum\fR
Set v8's thread pool size which will be used to allocate background jobs.
If set to 0 then v8 will choose an appropriate size of the thread pool based
on the number of online processors. If the value provided is larger than v8's
max then the largest value will be chosen.

.TP
.BR \-\-tls\-cipher\-list =\fIlist\fR
Specify an alternative default TLS cipher list. (Requires Node.js to be built
with crypto support. (Default))

.TP
.BR \-\-enable\-fips
Enable FIPS-compliant crypto at startup. (Requires Node.js to be built with
\fB./configure \-\-openssl\-fips\fR)

.TP
.BR \-\-force\-fips
Force FIPS-compliant crypto on startup. (Cannot be disabled from script code.)
(Same requirements as \fB\-\-enable\-fips\fR)

.TP
.BR \-\-openssl\-config =\fIfile\fR
Load an OpenSSL configuration file on startup. Among other uses, this can be
used to enable FIPS-compliant crypto if Node.js is built with
\fB./configure \-\-openssl\-fips\fR.

.TP
.BR \-\-use\-openssl\-ca,\-\-use\-bundled\-ca
Use OpenSSL's default CA store or use bundled Mozilla CA store as supplied by
current NodeJS version. The default store is selectable at build-time.

Using OpenSSL store allows for external modifications of the store. For most
Linux and BSD distributions, this store is maintained by the distribution
maintainers and system administrators. OpenSSL CA store location is dependent on
configuration of the OpenSSL library but this can be altered at runtime using
environmental variables.

The bundled CA store, as supplied by NodeJS, is a snapshot of Mozilla CA store
that is fixed at release time. It is identical on all supported platforms.

See \fBSSL_CERT_DIR\fR and \fBSSL_CERT_FILE\fR.

.TP
.BR \-\-icu\-data\-dir =\fIfile\fR
Specify ICU data load path. (overrides \fBNODE_ICU_DATA\fR)

.TP
.BR \-\-\fR
Indicate the end of node options. Pass the rest of the arguments to the script.

If no script filename or eval/print script is supplied prior to this, then
the next argument will be used as a script filename.

.SH ENVIRONMENT VARIABLES

.TP
.BR NODE_DEBUG =\fImodule\fR[,\fI...\fR]
\',\'\-separated list of core modules that should print debug information.

.TP
.BR NODE_DISABLE_COLORS =\fI1\fR
When set to \fI1\fR, colors will not be used in the REPL.

.TP
.BR NODE_EXTRA_CA_CERTS =\fIfile\fR
When set, the well known "root" CAs (like VeriSign) will be extended with the
extra certificates in \fIfile\fR. The file should consist of one or more
trusted certificates in PEM format. A message will be emitted (once) with
\fBprocess.emitWarning()\fR if the file is missing or misformatted, but any
errors are otherwise ignored.

.TP
.BR NODE_ICU_DATA =\fIfile\fR
Data path for ICU (Intl object) data. Will extend linked-in data when compiled
with small\-icu support.

.TP
.BR NODE_NO_WARNINGS =\fI1\fR
When set to \fI1\fR, process warnings are silenced.

.TP
.BR NODE_PATH =\fIpath\fR[:\fI...\fR]
\':\'\-separated list of directories prefixed to the module search path.

.TP
.BR NODE_REPL_HISTORY =\fIfile\fR
Path to the file used to store the persistent REPL history. The default path
is \fB~/.node_repl_history\fR, which is overridden by this variable. Setting the
value to an empty string ("" or " ") disables persistent REPL history.

.TP
.BR OPENSSL_CONF = \fIfile\fR
Load an OpenSSL configuration file on startup. Among other uses, this can be
used to enable FIPS-compliant crypto if Node.js is built with
\fB./configure \-\-openssl\-fips\fR.

If the
\fB\-\-openssl\-config\fR
command line option is used, the environment variable is ignored.

.TP
.BR SSL_CERT_DIR = \fIdir\fR
If \fB\-\-use\-openssl\-ca\fR is enabled, this overrides and sets OpenSSL's directory
containing trusted certificates.

.TP
.BR SSL_CERT_FILE = \fIfile\fR
If \fB\-\-use\-openssl\-ca\fR is enabled, this overrides and sets OpenSSL's
file containing trusted certificates.

.TP
.BR NODE_REDIRECT_WARNINGS=\fIfile\fR
Write process warnings to the given file instead of printing to stderr.
(equivalent to using the \-\-redirect\-warnings=\fIfile\fR command-line
argument).

.SH BUGS
Bugs are tracked in GitHub Issues:
.ur https://github.com/nodejs/node/issues


.SH AUTHORS
Written and maintained by 1000+ contributors:
.ur https://github.com/nodejs/node/blob/master/AUTHORS


.SH COPYRIGHT
Copyright Node.js contributors. Node.js is available under the MIT license.

Node.js also includes external libraries that are available under a variety
of licenses. See
.ur https://github.com/nodejs/node/blob/master/LICENSE
for the full license text.


.SH RESOURCES AND DOCUMENTATION
Website:
.ur https://nodejs.org/

Documentation:
.ur https://nodejs.org/api/

GitHub repository & Issue Tracker:
.ur https://github.com/nodejs/node

Mailing list:
.ur http://groups.google.com/group/nodejs

IRC (general questions):
.ur "chat.freenode.net #node.js"
(unofficial)

IRC (Node.js core development):
.ur "chat.freenode.net #node-dev"
