File Explorer

/var/lang/lib/node_modules/npm/man/man5

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

0 dirs
8 files
npmrc.56.8 KB · 196 lines
.TH ".NPMRC" "5" "February 2026" "NPM@11.11.0" "".SH "NAME"\fB.npmrc\fR - The npm config files.SS "Description".Pnpm gets its config settings from the command line, environment variables, and \fBnpmrc\fR files..PThe \fBnpm config\fR command can be used to update and edit the contents of the user and global npmrc files..PFor a list of available configuration options, see npm help config..SS "Files".PThe four relevant files are:.RS 0.IP \(bu 4per-project config file (\fB/path/to/my/project/.npmrc\fR).IP \(bu 4per-user config file (\fB~/.npmrc\fR).IP \(bu 4global config file (\fB$PREFIX/etc/npmrc\fR).IP \(bu 4npm builtin config file (\fB/path/to/npm/npmrc\fR).RE 0 .PAll npm config files are an ini-formatted list of \fBkey = value\fR parameters. Environment variables can be replaced using \fB${VARIABLE_NAME}\fR. By default if the variable is not defined, it is left unreplaced. By adding \fB?\fR after variable name they can be forced to evaluate to an empty string instead. For example:.P.RS 2.nfcache = ${HOME}/.npm-packagesnode-options = "${NODE_OPTIONS?} --use-system-ca".fi.RE.PEach 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..PArray values are specified by adding "\[lB]\[rB]" after the key name. For example:.P.RS 2.nfkey\[lB]\[rB] = "first value"key\[lB]\[rB] = "second value".fi.RE.SS "Comments".PLines in \fB.npmrc\fR files are interpreted as comments when they begin with a \fB;\fR or \fB#\fR character. \fB.npmrc\fR files are parsed by \fBnpm/ini\fR \fI\(lahttps://github.com/npm/ini\(ra\fR, which specifies this comment syntax..PFor example:.P.RS 2.nf# last modified: 01 Jan 2016; Set a new registry for a scoped package@myscope:registry=https://mycustomregistry.example.org.fi.RE.SS "Per-project config file".PWhen working locally in a project, a \fB.npmrc\fR file in the root of the project (ie, a sibling of \fBnode_modules\fR and \fBpackage.json\fR) will set config values specific to this project..PNote that this only applies to the root of the project that you're running npm in. It has no effect when your module is published. For example, you can't publish a module that forces itself to install globally, or in a different location..PAdditionally, this file is not read in global mode, such as when running \fBnpm install -g\fR..SS "Per-user config file".P\fB$HOME/.npmrc\fR (or the \fBuserconfig\fR param, if set in the environment or on the command line).SS "Global config file".P\fB$PREFIX/etc/npmrc\fR (or the \fBglobalconfig\fR param, if set above): This file is an ini-file formatted list of \fBkey = value\fR parameters. Environment variables can be replaced as above..SS "Built-in config file".P\fBpath/to/npm/itself/npmrc\fR.PThis is an unchangeable "builtin" configuration file that npm keeps consistent across updates. Set fields in here using the \fB./configure\fR script that comes with npm. This is primarily for distribution maintainers to override default configs in a standard and consistent manner..SS "Auth related configuration".PThe settings \fB_auth\fR, \fB_authToken\fR, \fBusername\fR, \fB_password\fR, \fBcertfile\fR, and \fBkeyfile\fR must all be scoped to a specific registry. This ensures that \fBnpm\fR will never send credentials to the wrong host..PThe full list is:.RS 0.IP \(bu 4\fB_auth\fR (base64 authentication string).IP \(bu 4\fB_authToken\fR (authentication token).IP \(bu 4\fBusername\fR.IP \(bu 4\fB_password\fR.IP \(bu 4\fBemail\fR.IP \(bu 4\fBcafile\fR (path to certificate authority file).IP \(bu 4\fBcertfile\fR (path to certificate file).IP \(bu 4\fBkeyfile\fR (path to key file).RE 0 .PIn order to scope these values, they must be prefixed by a URI fragment. If the credential is meant for any request to a registry on a single host, the scope may look like \fB//registry.npmjs.org/:\fR. If it must be scoped to a specific path on the host that path may also be provided, such as \fB//my-custom-registry.org/unique/path:\fR..SS "Unsupported Custom Configuration Keys".PStarting in npm v11.2.0, npm warns when unknown configuration keys are defined in \fB.npmrc\fR. In a future major version of npm, these unknown keys may no longer be accepted..POnly configuration keys that npm officially supports are recognized. Custom keys intended for third-party tools (for example, \fBelectron-builder\fR) should not be placed in \fB.npmrc\fR..PIf you need package-level configuration for use in scripts, use the \fBconfig\fR field in your \fBpackage.json\fR instead:.P.RS 2.nf{  "name": "my-package",  "config": {    "mirror": "https://example.com/"  }} .fi.RE.PValues defined in \fBpackage.json#config\fR are exposed to scripts as environment variables prefixed with \fBnpm_package_config_\fR. For example:.P.RS 2.nfnpm_package_config_mirror.fi.RE.PIf you need to pass arguments to a script command, use \fB--\fR to separate npm arguments from script arguments:.P.RS 2.nfnpm run build -- --customFlag.fi.RE.PUsing environment variables is also recommended for cross-platform configuration instead of defining unsupported keys in \fB.npmrc\fR..P.RS 2.nf; bad config_authToken=MYTOKEN ; good config@myorg:registry=https://somewhere-else.com/myorg@another:registry=https://somewhere-else.com/another//registry.npmjs.org/:_authToken=MYTOKEN ; would apply to both @myorg and @another//somewhere-else.com/:_authToken=MYTOKEN ; would apply only to @myorg//somewhere-else.com/myorg/:_authToken=MYTOKEN1 ; would apply only to @another//somewhere-else.com/another/:_authToken=MYTOKEN2.fi.RE.SS "Custom / third-party config keys".Pnpm only recognizes its own npm help "configuration options". If your \fB.npmrc\fR contains keys that are not part of npm's config definitions (for example, \fBelectron_mirror\fR or \fBsass_binary_site\fR), npm will emit a warning:.P.RS 2.nfwarn Unknown user config "electron_mirror".This will stop working in the next major version of npm..fi.RE.PThese keys were historically tolerated but are not officially supported. A future major version of npm will treat unknown top-level keys as errors..PSome tools (such as \fB@electron/get\fR or \fBnode-sass\fR) read their own configuration from environment variables or from \fB.npmrc\fR by convention. You can set these values as environment variables instead:.P.RS 2.nfexport ELECTRON_MIRROR="https://mirrorexample.npmjs.org/mirrors/electron/"export ELECTRON_CUSTOM_DIR="{{ version }}".fi.RE.PEnvironment variables are the most portable approach and work regardless of \fB.npmrc\fR format..SS "See also".RS 0.IP \(bu 4npm help folders.IP \(bu 4npm help config.IP \(bu 4npm help config.IP \(bu 4\fBpackage.json\fR \fI\(la/configuring-npm/package-json\(ra\fR.IP \(bu 4npm help npm.RE 0