Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
118 lines (70 sloc) 2.94 KB

npm-config(1) -- Manage the npm configuration file


npm config set <key> <value>
npm config get <key>
npm config delete <key>
npm config list


The config command is a way to interact with the .npmrc file. This file is a JSON encoded list of values that npm is concerned with. The first time you run npm, it will create a conf file filled with default values.

On exit, the current state of the config is always saved, so that any changes will be recorded. You may safely modify the file (as long as it's still parseable JSON), but it is safer to use the npm config commands.


Config supports the following sub-commands:


npm config set key value

Sets the config key to the value.


npm config get key

Echo the config value to stdout. (NOTE: All the other npm logging is done to stderr, so pipes should work properly, and you can do npm get key 2>/dev/null to print out JUST the config value.)


npm config list

Show all the config settings.

FIXME: Prints to stderr, but should really be stdout, since the log is what you're after.


npm config delete key

Deletes the key from the configuration file.

Config Settings

npm supports a very basic argument parser. For any of the settings in npm-config(1), you can set them explicitly for a single command by doing:

npm --key val <command>

Configurations defined on the command line are not saved to the .npmrc file.


Default: true

Automatically activate a package after installation, if there is not an active version already. Set to "always" to always activate when installing.


Default: ~/.node_libraries in single-user mode, or $INSTALL_PREFIX/lib/node in sudo-mode.

The root folder where packages are installed and npm keeps its data.


Default: $INSTALL_PREFIX/bin

The folder where executable programs are installed.



The base URL of the npm package registry.


A base-64 encoded "user:pass" pair. This is created by npm-adduser(1).

If your config file is ever corrupted, you can set this manually by doing:

npm config set auth $(echo -n "my-user-name:my-password" | base64)
    npm config set username my-user-name
    npm config set email

NOTE: This is not encoded in any kind of security sense. It's just base-64 encoded strictly so that it can be sent along the wire with HTTP Basic authentication.


If crypto.Cipher is available, and you have some private keys in $HOME/.ssh, then npm will encrypt your "auth" config before saving to the .npmrc file, and will decrypt the "authCrypt" config when it reads the .npmrc file.


Default: stable

If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.

Note: this has no effect on the npm-tag(1) command.

Jump to Line
Something went wrong with that request. Please try again.