npm gets its config settings from the command line, environment variables, and npmrc
files.
The npm config
command can be used to update and edit the contents of the user and global npmrc files.
For a list of available configuration options, see npm-config(7).
The three relevant files are:
All npm config files are an ini-formatted list of key = value
parameters. Environment variables can be replaced using ${VARIABLE_NAME}
. For example:
prefix = ${HOME}/.npm-packages
Each of these files is loaded, and config options are resolved in priority order. For example, a setting in the userconfig file would override the setting in the globalconfig file.
$HOME/.npmrc
(or the userconfig
param, if set in the environment or on the command line)
$PREFIX/etc/npmrc
(or the globalconfig
param, if set above): This file is an ini-file formatted list of key = value
parameters. Environment variables can be replaced as above.
path/to/npm/itself/npmrc
This is an unchangeable “builtin” configuration file that npm keeps consistent across updates. Set fields in here using the ./configure
script that comes with npm. This is primarily for distribution maintainers to override default configs in a standard and consistent manner.