|
|
- .TH "NPM\-CONFIG" "7" "August 2018" "" ""
- .SH "NAME"
- \fBnpm-config\fR \- More than you probably want to know about npm configuration
- .SH DESCRIPTION
- .P
- npm gets its configuration values from the following sources, sorted by priority:
- .SS Command Line Flags
- .P
- Putting \fB\-\-foo bar\fP on the command line sets the \fBfoo\fP configuration
- parameter to \fB"bar"\fP\|\. A \fB\-\-\fP argument tells the cli parser to stop
- reading flags\. Using \fB\-\-flag\fP without specifying any value will set
- the value to \fBtrue\fP\|\.
- .P
- Example: \fB\-\-flag1 \-\-flag2\fP will set both configuration parameters
- to \fBtrue\fP, while \fB\-\-flag1 \-\-flag2 bar\fP will set \fBflag1\fP to \fBtrue\fP,
- and \fBflag2\fP to \fBbar\fP\|\. Finally, \fB\-\-flag1 \-\-flag2 \-\- bar\fP will set
- both configuration parameters to \fBtrue\fP, and the \fBbar\fP is taken
- as a command argument\.
- .SS Environment Variables
- .P
- Any environment variables that start with \fBnpm_config_\fP will be
- interpreted as a configuration parameter\. For example, putting
- \fBnpm_config_foo=bar\fP in your environment will set the \fBfoo\fP
- configuration parameter to \fBbar\fP\|\. Any environment configurations that
- are not given a value will be given the value of \fBtrue\fP\|\. Config
- values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fP will work the
- same\. However, please note that inside npm\-scripts \fI/misc/scripts\fR
- npm will set its own environment variables and Node will prefer
- those lowercase versions over any uppercase ones that you might set\.
- For details see this issue \fIhttps://github\.com/npm/npm/issues/14528\fR\|\.
- .P
- Notice that you need to use underscores instead of dashes, so \fB\-\-allow\-same\-version\fP
- would become \fBnpm_config_allow_same_version=true\fP\|\.
- .SS npmrc Files
- .P
- The four relevant files are:
- .RS 0
- .IP \(bu 2
- per\-project configuration file (\fB/path/to/my/project/\.npmrc\fP)
- .IP \(bu 2
- per\-user configuration file (defaults to \fB$HOME/\.npmrc\fP; configurable via CLI
- option \fB\-\-userconfig\fP or environment variable \fB$NPM_CONFIG_USERCONFIG\fP)
- .IP \(bu 2
- global configuration file (defaults to \fB$PREFIX/etc/npmrc\fP; configurable via
- CLI option \fB\-\-globalconfig\fP or environment variable \fB$NPM_CONFIG_GLOBALCONFIG\fP)
- .IP \(bu 2
- npm's built\-in configuration file (\fB/path/to/npm/npmrc\fP)
-
- .RE
- .P
- See npm help 5 npmrc for more details\.
- .SS Default Configs
- .P
- Run \fBnpm config ls \-l\fP to see a set of configuration parameters that are
- internal to npm, and are defaults if nothing else is specified\.
- .SH Shorthands and Other CLI Niceties
- .P
- The following shorthands are parsed on the command\-line:
- .RS 0
- .IP \(bu 2
- \fB\-v\fP: \fB\-\-version\fP
- .IP \(bu 2
- \fB\-h\fP, \fB\-?\fP, \fB\-\-help\fP, \fB\-H\fP: \fB\-\-usage\fP
- .IP \(bu 2
- \fB\-s\fP, \fB\-\-silent\fP: \fB\-\-loglevel silent\fP
- .IP \(bu 2
- \fB\-q\fP, \fB\-\-quiet\fP: \fB\-\-loglevel warn\fP
- .IP \(bu 2
- \fB\-d\fP: \fB\-\-loglevel info\fP
- .IP \(bu 2
- \fB\-dd\fP, \fB\-\-verbose\fP: \fB\-\-loglevel verbose\fP
- .IP \(bu 2
- \fB\-ddd\fP: \fB\-\-loglevel silly\fP
- .IP \(bu 2
- \fB\-g\fP: \fB\-\-global\fP
- .IP \(bu 2
- \fB\-C\fP: \fB\-\-prefix\fP
- .IP \(bu 2
- \fB\-l\fP: \fB\-\-long\fP
- .IP \(bu 2
- \fB\-m\fP: \fB\-\-message\fP
- .IP \(bu 2
- \fB\-p\fP, \fB\-\-porcelain\fP: \fB\-\-parseable\fP
- .IP \(bu 2
- \fB\-reg\fP: \fB\-\-registry\fP
- .IP \(bu 2
- \fB\-f\fP: \fB\-\-force\fP
- .IP \(bu 2
- \fB\-desc\fP: \fB\-\-description\fP
- .IP \(bu 2
- \fB\-S\fP: \fB\-\-save\fP
- .IP \(bu 2
- \fB\-P\fP: \fB\-\-save\-prod\fP
- .IP \(bu 2
- \fB\-D\fP: \fB\-\-save\-dev\fP
- .IP \(bu 2
- \fB\-O\fP: \fB\-\-save\-optional\fP
- .IP \(bu 2
- \fB\-B\fP: \fB\-\-save\-bundle\fP
- .IP \(bu 2
- \fB\-E\fP: \fB\-\-save\-exact\fP
- .IP \(bu 2
- \fB\-y\fP: \fB\-\-yes\fP
- .IP \(bu 2
- \fB\-n\fP: \fB\-\-yes false\fP
- .IP \(bu 2
- \fBll\fP and \fBla\fP commands: \fBls \-\-long\fP
-
- .RE
- .P
- If the specified configuration param resolves unambiguously to a known
- configuration parameter, then it is expanded to that configuration
- parameter\. For example:
- .P
- .RS 2
- .nf
- npm ls \-\-par
- # same as:
- npm ls \-\-parseable
- .fi
- .RE
- .P
- If multiple single\-character shorthands are strung together, and the
- resulting combination is unambiguously not some other configuration
- param, then it is expanded to its various component pieces\. For
- example:
- .P
- .RS 2
- .nf
- npm ls \-gpld
- # same as:
- npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info
- .fi
- .RE
- .SH Per\-Package Config Settings
- .P
- When running scripts (see npm help 7 \fBnpm\-scripts\fP) the package\.json "config"
- keys are overwritten in the environment if there is a config param of
- \fB<name>[@<version>]:<key>\fP\|\. For example, if the package\.json has
- this:
- .P
- .RS 2
- .nf
- { "name" : "foo"
- , "config" : { "port" : "8080" }
- , "scripts" : { "start" : "node server\.js" } }
- .fi
- .RE
- .P
- and the server\.js is this:
- .P
- .RS 2
- .nf
- http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port)
- .fi
- .RE
- .P
- then the user could change the behavior by doing:
- .P
- .RS 2
- .nf
- npm config set foo:port 80
- .fi
- .RE
- .P
- See npm help 5 package\.json for more information\.
- .SH Config Settings
- .SS access
- .RS 0
- .IP \(bu 2
- Default: \fBrestricted\fP
- .IP \(bu 2
- Type: Access
-
- .RE
- .P
- When publishing scoped packages, the access level defaults to \fBrestricted\fP\|\. If
- you want your scoped package to be publicly viewable (and installable) set
- \fB\-\-access=public\fP\|\. The only valid values for \fBaccess\fP are \fBpublic\fP and
- \fBrestricted\fP\|\. Unscoped packages \fIalways\fR have an access level of \fBpublic\fP\|\.
- .SS allow\-same\-version
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Prevents throwing an error when \fBnpm version\fP is used to set the new version
- to the same value as the current version\.
- .SS always\-auth
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Force npm to always require authentication when accessing the registry,
- even for \fBGET\fP requests\.
- .SS also
- .RS 0
- .IP \(bu 2
- Default: null
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- When "dev" or "development" and running local \fBnpm shrinkwrap\fP,
- \fBnpm outdated\fP, or \fBnpm update\fP, is an alias for \fB\-\-dev\fP\|\.
- .SS audit
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- When "true" submit audit reports alongside \fBnpm install\fP runs to the default
- registry and all registries configured for scopes\. See the documentation
- for npm help audit for details on what is submitted\.
- .SS audit\-level
- .RS 0
- .IP \(bu 2
- Default: \fB"low"\fP
- .IP \(bu 2
- Type: \fB\|'low'\fP, \fB\|'moderate'\fP, \fB\|'high'\fP, \fB\|'critical'\fP
-
- .RE
- .P
- The minimum level of vulnerability for \fBnpm audit\fP to exit with
- a non\-zero exit code\.
- .SS auth\-type
- .RS 0
- .IP \(bu 2
- Default: \fB\|'legacy'\fP
- .IP \(bu 2
- Type: \fB\|'legacy'\fP, \fB\|'sso'\fP, \fB\|'saml'\fP, \fB\|'oauth'\fP
-
- .RE
- .P
- What authentication strategy to use with \fBadduser\fP/\fBlogin\fP\|\.
- .SS bin\-links
- .RS 0
- .IP \(bu 2
- Default: \fBtrue\fP
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Tells npm to create symlinks (or \fB\|\.cmd\fP shims on Windows) for package
- executables\.
- .P
- Set to false to have it not do this\. This can be used to work around
- the fact that some file systems don't support symlinks, even on
- ostensibly Unix systems\.
- .SS browser
- .RS 0
- .IP \(bu 2
- Default: OS X: \fB"open"\fP, Windows: \fB"start"\fP, Others: \fB"xdg\-open"\fP
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- The browser that is called by the \fBnpm docs\fP command to open websites\.
- .SS ca
- .RS 0
- .IP \(bu 2
- Default: The npm CA certificate
- .IP \(bu 2
- Type: String, Array or null
-
- .RE
- .P
- The Certificate Authority signing certificate that is trusted for SSL
- connections to the registry\. Values should be in PEM format (Windows calls it "Base\-64 encoded X\.509 (\.CER)") with newlines
- replaced by the string "\\n"\. For example:
- .P
- .RS 2
- .nf
- ca="\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END CERTIFICATE\-\-\-\-\-"
- .fi
- .RE
- .P
- Set to \fBnull\fP to only allow "known" registrars, or to a specific CA cert
- to trust only that specific signing authority\.
- .P
- Multiple CAs can be trusted by specifying an array of certificates:
- .P
- .RS 2
- .nf
- ca[]="\.\.\."
- ca[]="\.\.\."
- .fi
- .RE
- .P
- See also the \fBstrict\-ssl\fP config\.
- .SS cafile
- .RS 0
- .IP \(bu 2
- Default: \fBnull\fP
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- A path to a file containing one or multiple Certificate Authority signing
- certificates\. Similar to the \fBca\fP setting, but allows for multiple CA's, as
- well as for the CA information to be stored in a file on disk\.
- .SS cache
- .RS 0
- .IP \(bu 2
- Default: Windows: \fB%AppData%\\npm\-cache\fP, Posix: \fB~/\.npm\fP
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- The location of npm's cache directory\. See npm help \fBnpm\-cache\fP
- .SS cache\-lock\-stale
- .RS 0
- .IP \(bu 2
- Default: 60000 (1 minute)
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- The number of ms before cache folder lockfiles are considered stale\.
- .SS cache\-lock\-retries
- .RS 0
- .IP \(bu 2
- Default: 10
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- Number of times to retry to acquire a lock on cache folder lockfiles\.
- .SS cache\-lock\-wait
- .RS 0
- .IP \(bu 2
- Default: 10000 (10 seconds)
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- Number of ms to wait for cache lock files to expire\.
- .SS cache\-max
- .RS 0
- .IP \(bu 2
- Default: Infinity
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- \fBDEPRECATED\fR: This option has been deprecated in favor of \fB\-\-prefer\-online\fP\|\.
- .P
- \fB\-\-cache\-max=0\fP is an alias for \fB\-\-prefer\-online\fP\|\.
- .SS cache\-min
- .RS 0
- .IP \(bu 2
- Default: 10
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- \fBDEPRECATED\fR: This option has been deprecated in favor of \fB\-\-prefer\-offline\fP\|\.
- .P
- \fB\-\-cache\-min=9999 (or bigger)\fP is an alias for \fB\-\-prefer\-offline\fP\|\.
- .SS cert
- .RS 0
- .IP \(bu 2
- Default: \fBnull\fP
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- A client certificate to pass when accessing the registry\. Values should be in
- PEM format (Windows calls it "Base\-64 encoded X\.509 (\.CER)") with newlines replaced by the string "\\n"\. For example:
- .P
- .RS 2
- .nf
- cert="\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END CERTIFICATE\-\-\-\-\-"
- .fi
- .RE
- .P
- It is \fInot\fR the path to a certificate file (and there is no "certfile" option)\.
- .SS cidr
- .RS 0
- .IP \(bu 2
- Default: \fBnull\fP
- .IP \(bu 2
- Type: String, Array, null
-
- .RE
- .P
- This is a list of CIDR address to be used when configuring limited access tokens with the \fBnpm token create\fP command\.
- .SS color
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean or \fB"always"\fP
-
- .RE
- .P
- If false, never shows colors\. If \fB"always"\fP then always shows colors\.
- If true, then only prints color codes for tty file descriptors\.
- .P
- This option can also be changed using the environment: colors are
- disabled when the environment variable \fBNO_COLOR\fP is set to any value\.
- .SS depth
- .RS 0
- .IP \(bu 2
- Default: Infinity
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- The depth to go when recursing directories for \fBnpm ls\fP,
- \fBnpm cache ls\fP, and \fBnpm outdated\fP\|\.
- .P
- For \fBnpm outdated\fP, a setting of \fBInfinity\fP will be treated as \fB0\fP
- since that gives more useful information\. To show the outdated status
- of all packages and dependents, use a large integer value,
- e\.g\., \fBnpm outdated \-\-depth 9999\fP
- .SS description
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Show the description in \fBnpm search\fP
- .SS dev
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Install \fBdev\-dependencies\fP along with packages\.
- .SS dry\-run
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Indicates that you don't want npm to make any changes and that it should
- only report what it would have done\. This can be passed into any of the
- commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
- \fBdedupe\fP, \fBuninstall\fP\|\. This is NOT currently honored by some network related
- commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\.
- .SS editor
- .RS 0
- .IP \(bu 2
- Default: \fBEDITOR\fP environment variable if set, or \fB"vi"\fP on Posix,
- or \fB"notepad"\fP on Windows\.
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- The command to run for \fBnpm edit\fP or \fBnpm config edit\fP\|\.
- .SS engine\-strict
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If set to true, then npm will stubbornly refuse to install (or even
- consider installing) any package that claims to not be compatible with
- the current Node\.js version\.
- .SS force
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Makes various commands more forceful\.
- .RS 0
- .IP \(bu 2
- lifecycle script failure does not block progress\.
- .IP \(bu 2
- publishing clobbers previously published versions\.
- .IP \(bu 2
- skips cache when requesting from the registry\.
- .IP \(bu 2
- prevents checks against clobbering non\-npm files\.
-
- .RE
- .SS fetch\-retries
- .RS 0
- .IP \(bu 2
- Default: 2
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- The "retries" config for the \fBretry\fP module to use when fetching
- packages from the registry\.
- .SS fetch\-retry\-factor
- .RS 0
- .IP \(bu 2
- Default: 10
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- The "factor" config for the \fBretry\fP module to use when fetching
- packages\.
- .SS fetch\-retry\-mintimeout
- .RS 0
- .IP \(bu 2
- Default: 10000 (10 seconds)
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- The "minTimeout" config for the \fBretry\fP module to use when fetching
- packages\.
- .SS fetch\-retry\-maxtimeout
- .RS 0
- .IP \(bu 2
- Default: 60000 (1 minute)
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- The "maxTimeout" config for the \fBretry\fP module to use when fetching
- packages\.
- .SS git
- .RS 0
- .IP \(bu 2
- Default: \fB"git"\fP
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- The command to use for git commands\. If git is installed on the
- computer, but is not in the \fBPATH\fP, then set this to the full path to
- the git binary\.
- .SS git\-tag\-version
- .RS 0
- .IP \(bu 2
- Default: \fBtrue\fP
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Tag the commit when using the \fBnpm version\fP command\.
- .SS commit\-hooks
- .RS 0
- .IP \(bu 2
- Default: \fBtrue\fP
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Run git commit hooks when using the \fBnpm version\fP command\.
- .SS global
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Operates in "global" mode, so that packages are installed into the
- \fBprefix\fP folder instead of the current working directory\. See
- npm help 5 \fBnpm\-folders\fP for more on the differences in behavior\.
- .RS 0
- .IP \(bu 2
- packages are installed into the \fB{prefix}/lib/node_modules\fP folder, instead of the
- current working directory\.
- .IP \(bu 2
- bin files are linked to \fB{prefix}/bin\fP
- .IP \(bu 2
- man pages are linked to \fB{prefix}/share/man\fP
-
- .RE
- .SS globalconfig
- .RS 0
- .IP \(bu 2
- Default: {prefix}/etc/npmrc
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- The config file to read for global config options\.
- .SS global\-style
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Causes npm to install the package into your local \fBnode_modules\fP folder with
- the same layout it uses with the global \fBnode_modules\fP folder\. Only your
- direct dependencies will show in \fBnode_modules\fP and everything they depend
- on will be flattened in their \fBnode_modules\fP folders\. This obviously will
- eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will be
- preferred\.
- .SS group
- .RS 0
- .IP \(bu 2
- Default: GID of the current process
- .IP \(bu 2
- Type: String or Number
-
- .RE
- .P
- The group to use when running package scripts in global mode as the root
- user\.
- .SS heading
- .RS 0
- .IP \(bu 2
- Default: \fB"npm"\fP
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- The string that starts all the debugging log output\.
- .SS https\-proxy
- .RS 0
- .IP \(bu 2
- Default: null
- .IP \(bu 2
- Type: url
-
- .RE
- .P
- A proxy to use for outgoing https requests\. If the \fBHTTPS_PROXY\fP or
- \fBhttps_proxy\fP or \fBHTTP_PROXY\fP or \fBhttp_proxy\fP environment variables are set,
- proxy settings will be honored by the underlying \fBrequest\fP library\.
- .SS if\-present
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If true, npm will not exit with an error code when \fBrun\-script\fP is invoked for
- a script that isn't defined in the \fBscripts\fP section of \fBpackage\.json\fP\|\. This
- option can be used when it's desirable to optionally run a script when it's
- present and fail if the script fails\. This is useful, for example, when running
- scripts that may only apply for some builds in an otherwise generic CI setup\.
- .SS ignore\-prepublish
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If true, npm will not run \fBprepublish\fP scripts\.
- .SS ignore\-scripts
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If true, npm does not run scripts specified in package\.json files\.
- .SS init\-module
- .RS 0
- .IP \(bu 2
- Default: ~/\.npm\-init\.js
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- A module that will be loaded by the \fBnpm init\fP command\. See the
- documentation for the
- init\-package\-json \fIhttps://github\.com/isaacs/init\-package\-json\fR module
- for more information, or npm help init\.
- .SS init\-author\-name
- .RS 0
- .IP \(bu 2
- Default: ""
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- The value \fBnpm init\fP should use by default for the package author's name\.
- .SS init\-author\-email
- .RS 0
- .IP \(bu 2
- Default: ""
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- The value \fBnpm init\fP should use by default for the package author's email\.
- .SS init\-author\-url
- .RS 0
- .IP \(bu 2
- Default: ""
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- The value \fBnpm init\fP should use by default for the package author's homepage\.
- .SS init\-license
- .RS 0
- .IP \(bu 2
- Default: "ISC"
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- The value \fBnpm init\fP should use by default for the package license\.
- .SS init\-version
- .RS 0
- .IP \(bu 2
- Default: "1\.0\.0"
- .IP \(bu 2
- Type: semver
-
- .RE
- .P
- The value that \fBnpm init\fP should use by default for the package
- version number, if not already set in package\.json\.
- .SS json
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Whether or not to output JSON data, rather than the normal output\.
- .P
- This feature is currently experimental, and the output data structures for many
- commands is either not implemented in JSON yet, or subject to change\. Only the
- output from \fBnpm ls \-\-json\fP and \fBnpm search \-\-json\fP are currently valid\.
- .SS key
- .RS 0
- .IP \(bu 2
- Default: \fBnull\fP
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- A client key to pass when accessing the registry\. Values should be in PEM
- format with newlines replaced by the string "\\n"\. For example:
- .P
- .RS 2
- .nf
- key="\-\-\-\-\-BEGIN PRIVATE KEY\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END PRIVATE KEY\-\-\-\-\-"
- .fi
- .RE
- .P
- It is \fInot\fR the path to a key file (and there is no "keyfile" option)\.
- .SS legacy\-bundling
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Causes npm to install the package such that versions of npm prior to 1\.4,
- such as the one included with node 0\.8, can install the package\. This
- eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option
- will be preferred\.
- .SS link
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If true, then local installs will link if there is a suitable globally
- installed package\.
- .P
- Note that this means that local installs can cause things to be
- installed into the global space at the same time\. The link is only done
- if one of the two conditions are met:
- .RS 0
- .IP \(bu 2
- The package is not already installed globally, or
- .IP \(bu 2
- the globally installed version is identical to the version that is
- being installed locally\.
-
- .RE
- .SS local\-address
- .RS 0
- .IP \(bu 2
- Default: undefined
- .IP \(bu 2
- Type: IP Address
-
- .RE
- .P
- The IP address of the local interface to use when making connections
- to the npm registry\. Must be IPv4 in versions of Node prior to 0\.12\.
- .SS loglevel
- .RS 0
- .IP \(bu 2
- Default: "notice"
- .IP \(bu 2
- Type: String
- .IP \(bu 2
- Values: "silent", "error", "warn", "notice", "http", "timing", "info",
- "verbose", "silly"
-
- .RE
- .P
- What level of logs to report\. On failure, \fIall\fR logs are written to
- \fBnpm\-debug\.log\fP in the current working directory\.
- .P
- Any logs of a higher level than the setting are shown\. The default is "notice"\.
- .SS logstream
- .RS 0
- .IP \(bu 2
- Default: process\.stderr
- .IP \(bu 2
- Type: Stream
-
- .RE
- .P
- This is the stream that is passed to the
- npmlog \fIhttps://github\.com/npm/npmlog\fR module at run time\.
- .P
- It cannot be set from the command line, but if you are using npm
- programmatically, you may wish to send logs to somewhere other than
- stderr\.
- .P
- If the \fBcolor\fP config is set to true, then this stream will receive
- colored output if it is a TTY\.
- .SS logs\-max
- .RS 0
- .IP \(bu 2
- Default: 10
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- The maximum number of log files to store\.
- .SS long
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Show extended information in \fBnpm ls\fP and \fBnpm search\fP\|\.
- .SS maxsockets
- .RS 0
- .IP \(bu 2
- Default: 50
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- The maximum number of connections to use per origin (protocol/host/port
- combination)\. Passed to the \fBhttp\fP \fBAgent\fP used to make the request\.
- .SS message
- .RS 0
- .IP \(bu 2
- Default: "%s"
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- Commit message which is used by \fBnpm version\fP when creating version commit\.
- .P
- Any "%s" in the message will be replaced with the version number\.
- .SS metrics\-registry
- .RS 0
- .IP \(bu 2
- Default: The value of \fBregistry\fP (which defaults to "https://
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- The registry you want to send cli metrics to if \fBsend\-metrics\fP is true\.
- .SS node\-options
- .RS 0
- .IP \(bu 2
- Default: null
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- Options to pass through to Node\.js via the \fBNODE_OPTIONS\fP environment
- variable\. This does not impact how npm itself is executed but it does
- impact how lifecycle scripts are called\.
- .SS node\-version
- .RS 0
- .IP \(bu 2
- Default: process\.version
- .IP \(bu 2
- Type: semver or false
-
- .RE
- .P
- The node version to use when checking a package's \fBengines\fP map\.
- .SS noproxy
- .RS 0
- .IP \(bu 2
- Default: null
- .IP \(bu 2
- Type: String or Array
-
- .RE
- .P
- A comma\-separated string or an array of domain extensions that a proxy should not be used for\.
- .SS offline
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Force offline mode: no network requests will be done during install\. To allow
- the CLI to fill in missing cache data, see \fB\-\-prefer\-offline\fP\|\.
- .SS onload\-script
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- A node module to \fBrequire()\fP when npm loads\. Useful for programmatic
- usage\.
- .SS only
- .RS 0
- .IP \(bu 2
- Default: null
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- When "dev" or "development" and running local \fBnpm install\fP without any
- arguments, only devDependencies (and their dependencies) are installed\.
- .P
- When "dev" or "development" and running local \fBnpm ls\fP, \fBnpm outdated\fP, or
- \fBnpm update\fP, is an alias for \fB\-\-dev\fP\|\.
- .P
- When "prod" or "production" and running local \fBnpm install\fP without any
- arguments, only non\-devDependencies (and their dependencies) are
- installed\.
- .P
- When "prod" or "production" and running local \fBnpm ls\fP, \fBnpm outdated\fP, or
- \fBnpm update\fP, is an alias for \fB\-\-production\fP\|\.
- .SS optional
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Attempt to install packages in the \fBoptionalDependencies\fP object\. Note
- that if these packages fail to install, the overall installation
- process is not aborted\.
- .SS otp
- .RS 0
- .IP \(bu 2
- Default: null
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- This is a one\-time password from a two\-factor authenticator\. It's needed
- when publishing or changing package permissions with \fBnpm access\fP\|\.
- .SS package\-lock
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If set to false, then ignore \fBpackage\-lock\.json\fP files when installing\. This
- will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\.
- .P
- When package package\-locks are disabled, automatic pruning of extraneous
- modules will also be disabled\. To remove extraneous modules with
- package\-locks disabled use \fBnpm prune\fP\|\.
- .P
- This option is an alias for \fB\-\-shrinkwrap\fP\|\.
- .SS package\-lock\-only
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If set to true, it will update only the \fBpackage\-lock\.json\fP,
- instead of checking \fBnode_modules\fP and downloading dependencies\.
- .SS parseable
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Output parseable results from commands that write to
- standard output\. For \fBnpm search\fP, this will be tab\-separated table format\.
- .SS prefer\-offline
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If true, staleness checks for cached data will be bypassed, but missing data
- will be requested from the server\. To force full offline mode, use \fB\-\-offline\fP\|\.
- .P
- This option is effectively equivalent to \fB\-\-cache\-min=9999999\fP\|\.
- .SS prefer\-online
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If true, staleness checks for cached data will be forced, making the CLI look
- for updates immediately even for fresh package data\.
- .SS prefix
- .RS 0
- .IP \(bu 2
- Default: see npm help 5 folders
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- The location to install global items\. If set on the command line, then
- it forces non\-global commands to run in the specified folder\.
- .SS preid
- .RS 0
- .IP \(bu 2
- Default: ""
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- The "prerelease identifier" to use as a prefix for the "prerelease" part of a
- semver\. Like the \fBrc\fP in \fB1\.2\.0\-rc\.8\fP\|\.
- .SS production
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Set to true to run in "production" mode\.
- .RS 0
- .IP 1. 3
- devDependencies are not installed at the topmost level when running
- local \fBnpm install\fP without any arguments\.
- .IP 2. 3
- Set the NODE_ENV="production" for lifecycle scripts\.
-
- .RE
- .SS progress
- .RS 0
- .IP \(bu 2
- Default: true, unless TRAVIS or CI env vars set\.
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- When set to \fBtrue\fP, npm will display a progress bar during time intensive
- operations, if \fBprocess\.stderr\fP is a TTY\.
- .P
- Set to \fBfalse\fP to suppress the progress bar\.
- .SS proxy
- .RS 0
- .IP \(bu 2
- Default: null
- .IP \(bu 2
- Type: url
-
- .RE
- .P
- A proxy to use for outgoing http requests\. If the \fBHTTP_PROXY\fP or
- \fBhttp_proxy\fP environment variables are set, proxy settings will be
- honored by the underlying \fBrequest\fP library\.
- .SS read\-only
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- This is used to mark a token as unable to publish when configuring limited access tokens with the \fBnpm token create\fP command\.
- .SS rebuild\-bundle
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Rebuild bundled dependencies after installation\.
- .SS registry
- .RS 0
- .IP \(bu 2
- Default: https://
- .IP \(bu 2
- Type: url
-
- .RE
- .P
- The base URL of the npm package registry\.
- .SS rollback
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Remove failed installs\.
- .SS save
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Save installed packages to a package\.json file as dependencies\.
- .P
- When used with the \fBnpm rm\fP command, it removes it from the \fBdependencies\fP
- object\.
- .P
- Only works if there is already a package\.json file present\.
- .SS save\-bundle
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If a package would be saved at install time by the use of \fB\-\-save\fP,
- \fB\-\-save\-dev\fP, or \fB\-\-save\-optional\fP, then also put it in the
- \fBbundleDependencies\fP list\.
- .P
- When used with the \fBnpm rm\fP command, it removes it from the
- bundledDependencies list\.
- .SS save\-prod
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Makes sure that a package will be saved into \fBdependencies\fP specifically\. This
- is useful if a package already exists in \fBdevDependencies\fP or
- \fBoptionalDependencies\fP, but you want to move it to be a production dep\. This is
- also the default behavior if \fB\-\-save\fP is true, and neither \fB\-\-save\-dev\fP or
- \fB\-\-save\-optional\fP are true\.
- .SS save\-dev
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Save installed packages to a package\.json file as \fBdevDependencies\fP\|\.
- .P
- When used with the \fBnpm rm\fP command, it removes it from the
- \fBdevDependencies\fP object\.
- .P
- Only works if there is already a package\.json file present\.
- .SS save\-exact
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Dependencies saved to package\.json using \fB\-\-save\fP, \fB\-\-save\-dev\fP or
- \fB\-\-save\-optional\fP will be configured with an exact version rather than
- using npm's default semver range operator\.
- .SS save\-optional
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Save installed packages to a package\.json file as
- optionalDependencies\.
- .P
- When used with the \fBnpm rm\fP command, it removes it from the
- \fBdevDependencies\fP object\.
- .P
- Only works if there is already a package\.json file present\.
- .SS save\-prefix
- .RS 0
- .IP \(bu 2
- Default: '^'
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- Configure how versions of packages installed to a package\.json file via
- \fB\-\-save\fP or \fB\-\-save\-dev\fP get prefixed\.
- .P
- For example if a package has version \fB1\.2\.3\fP, by default its version is
- set to \fB^1\.2\.3\fP which allows minor upgrades for that package, but after
- \fBnpm config set save\-prefix='~'\fP it would be set to \fB~1\.2\.3\fP which only allows
- patch upgrades\.
- .SS scope
- .RS 0
- .IP \(bu 2
- Default: the scope of the current project, if any, or ""
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- Associate an operation with a scope for a scoped registry\. Useful when logging
- in to a private registry for the first time:
- \fBnpm login \-\-scope=@organization \-\-registry=registry\.organization\.com\fP, which
- will cause \fB@organization\fP to be mapped to the registry for future installation
- of packages specified according to the pattern \fB@organization/package\fP\|\.
- .SS script\-shell
- .RS 0
- .IP \(bu 2
- Default: \fBnull\fP
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- The shell to use for scripts run with the \fBnpm run\fP command\.
- .SS scripts\-prepend\-node\-path
- .RS 0
- .IP \(bu 2
- Default: "warn\-only"
- .IP \(bu 2
- Type: Boolean, \fB"auto"\fP or \fB"warn\-only"\fP
-
- .RE
- .P
- If set to \fBtrue\fP, add the directory in which the current \fBnode\fP executable
- resides to the \fBPATH\fP environment variable when running scripts,
- even if that means that \fBnpm\fP will invoke a different \fBnode\fP executable than
- the one which it is running\.
- .P
- If set to \fBfalse\fP, never modify \fBPATH\fP with that\.
- .P
- If set to \fB"warn\-only"\fP, never modify \fBPATH\fP but print a warning if \fBnpm\fP thinks
- that you may want to run it with \fBtrue\fP, e\.g\. because the \fBnode\fP executable
- in the \fBPATH\fP is not the one \fBnpm\fP was invoked with\.
- .P
- If set to \fBauto\fP, only add that directory to the \fBPATH\fP environment variable
- if the \fBnode\fP executable with which \fBnpm\fP was invoked and the one that is found
- first on the \fBPATH\fP are different\.
- .SS searchexclude
- .RS 0
- .IP \(bu 2
- Default: ""
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- Space\-separated options that limit the results from search\.
- .SS searchopts
- .RS 0
- .IP \(bu 2
- Default: ""
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- Space\-separated options that are always passed to search\.
- .SS searchlimit
- .RS 0
- .IP \(bu 2
- Default: 20
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- Number of items to limit search results to\. Will not apply at all to legacy
- searches\.
- .SS searchstaleness
- .RS 0
- .IP \(bu 2
- Default: 900 (15 minutes)
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- The age of the cache, in seconds, before another registry request is made if
- using legacy search endpoint\.
- .SS send\-metrics
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If true, success/failure metrics will be reported to the registry stored in
- \fBmetrics\-registry\fP\|\. These requests contain the number of successful and
- failing runs of the npm CLI and the time period overwhich those counts were
- gathered\. No identifying information is included in these requests\.
- .SS shell
- .RS 0
- .IP \(bu 2
- Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
- Windows
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- The shell to run for the \fBnpm explore\fP command\.
- .SS shrinkwrap
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If set to false, then ignore \fBnpm\-shrinkwrap\.json\fP files when installing\. This
- will also prevent \fIwriting\fR \fBnpm\-shrinkwrap\.json\fP if \fBsave\fP is true\.
- .P
- This option is an alias for \fB\-\-package\-lock\fP\|\.
- .SS sign\-git\-commit
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If set to true, then the \fBnpm version\fP command will commit the new package
- version using \fB\-S\fP to add a signature\.
- .P
- Note that git requires you to have set up GPG keys in your git configs
- for this to work properly\.
- .SS sign\-git\-tag
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If set to true, then the \fBnpm version\fP command will tag the version
- using \fB\-s\fP to add a signature\.
- .P
- Note that git requires you to have set up GPG keys in your git configs
- for this to work properly\.
- .SS sso\-poll\-frequency
- .RS 0
- .IP \(bu 2
- Default: 500
- .IP \(bu 2
- Type: Number
-
- .RE
- .P
- When used with SSO\-enabled \fBauth\-type\fPs, configures how regularly the registry
- should be polled while the user is completing authentication\.
- .SS sso\-type
- .RS 0
- .IP \(bu 2
- Default: 'oauth'
- .IP \(bu 2
- Type: 'oauth', 'saml', or null
-
- .RE
- .P
- If \fB\-\-auth\-type=sso\fP, the type of SSO type to use\.
- .SS strict\-ssl
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Whether or not to do SSL key validation when making requests to the
- registry via https\.
- .P
- See also the \fBca\fP config\.
- .SS tag
- .RS 0
- .IP \(bu 2
- Default: latest
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- If you ask npm to install a package and don't tell it a specific version, then
- it will install the specified tag\.
- .P
- Also the tag that is added to the package@version specified by the \fBnpm
- tag\fP command, if no explicit tag is given\.
- .SS tag\-version\-prefix
- .RS 0
- .IP \(bu 2
- Default: \fB"v"\fP
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- If set, alters the prefix used when tagging a new version when performing a
- version increment using \fBnpm\-version\fP\|\. To remove the prefix altogether, set it
- to the empty string: \fB""\fP\|\.
- .P
- Because other tools may rely on the convention that npm version tags look like
- \fBv1\.0\.0\fP, \fIonly use this property if it is absolutely necessary\fR\|\. In
- particular, use care when overriding this setting for public packages\.
- .SS timing
- .RS 0
- .IP \(bu 2
- Default: \fBfalse\fP
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- If true, writes an \fBnpm\-debug\fP log to \fB_logs\fP and timing information to
- \fB_timing\.json\fP, both in your cache\. \fB_timing\.json\fP is a newline delimited
- list of JSON objects\. You can quickly view it with this
- json \fIhttps://www\.npmjs\.com/package/json\fR command line:
- \fBjson \-g < ~/\.npm/_timing\.json\fP\|\.
- .SS tmp
- .RS 0
- .IP \(bu 2
- Default: TMPDIR environment variable, or "/tmp"
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- Where to store temporary files and folders\. All temp files are deleted
- on success, but left behind on failure for forensic purposes\.
- .SS unicode
- .RS 0
- .IP \(bu 2
- Default: false on windows, true on mac/unix systems with a unicode locale
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- When set to true, npm uses unicode characters in the tree output\. When
- false, it uses ascii characters to draw trees\.
- .SS unsafe\-perm
- .RS 0
- .IP \(bu 2
- Default: false if running as root, true otherwise
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Set to true to suppress the UID/GID switching when running package
- scripts\. If set explicitly to false, then installing as a non\-root user
- will fail\.
- .SS update\-notifier
- .RS 0
- .IP \(bu 2
- Default: true
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Set to false to suppress the update notification when using an older
- version of npm than the latest\.
- .SS usage
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: Boolean
-
- .RE
- .P
- Set to show short usage output (like the \-H output)
- instead of complete help when doing npm help \fBnpm\-help\fP\|\.
- .SS user
- .RS 0
- .IP \(bu 2
- Default: "nobody"
- .IP \(bu 2
- Type: String or Number
-
- .RE
- .P
- The UID to set to when running package scripts as root\.
- .SS userconfig
- .RS 0
- .IP \(bu 2
- Default: ~/\.npmrc
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- The location of user\-level configuration settings\.
- .SS umask
- .RS 0
- .IP \(bu 2
- Default: 022
- .IP \(bu 2
- Type: Octal numeric string in range 0000\.\.0777 (0\.\.511)
-
- .RE
- .P
- The "umask" value to use when setting the file creation mode on files
- and folders\.
- .P
- Folders and executables are given a mode which is \fB0777\fP masked against
- this value\. Other files are given a mode which is \fB0666\fP masked against
- this value\. Thus, the defaults are \fB0755\fP and \fB0644\fP respectively\.
- .SS user\-agent
- .RS 0
- .IP \(bu 2
- Default: node/{process\.version} {process\.platform} {process\.arch}
- .IP \(bu 2
- Type: String
-
- .RE
- .P
- Sets a User\-Agent to the request header
- .SS version
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: boolean
-
- .RE
- .P
- If true, output the npm version and exit successfully\.
- .P
- Only relevant when specified explicitly on the command line\.
- .SS versions
- .RS 0
- .IP \(bu 2
- Default: false
- .IP \(bu 2
- Type: boolean
-
- .RE
- .P
- If true, output the npm version as well as node's \fBprocess\.versions\fP map, and
- exit successfully\.
- .P
- Only relevant when specified explicitly on the command line\.
- .SS viewer
- .RS 0
- .IP \(bu 2
- Default: "man" on Posix, "browser" on Windows
- .IP \(bu 2
- Type: path
-
- .RE
- .P
- The program to use to view help content\.
- .P
- Set to \fB"browser"\fP to view html help content in the default web browser\.
- .SH SEE ALSO
- .RS 0
- .IP \(bu 2
- npm help config
- .IP \(bu 2
- npm help 5 npmrc
- .IP \(bu 2
- npm help 7 scripts
- .IP \(bu 2
- npm help 5 folders
- .IP \(bu 2
- npm help npm
-
- .RE
-
|