By default NPM—the Node Package Manager—uses its own public registry (at https://registry.npmjs.org) to pull down packages when you run npm install
or npm update
inside of a project.
You can specify different registries at multiple levels or scopes to override these default value (and other configuration settings). Ideally, when working on projects that require a specific registry—due to security or maybe just because some packages are inside of a private repository—you would set NPM to look for packages on that registry inside of the project folder.
npm install --registry=https://some.registry.url
.npmrc
file inside of the project folder)registry=https://some.registry.url
@namespace:registry=https://some.other.registry.url
.npmrc
file inside of your system user folder)registry=https://some.registry.url
@namespace:registry=https://some.other.registry.url
Run the npm config list
command to see what variables are set. If you run this in a project folder with an .npmrc
file you should see its overriding configuration settings in the folder, and the system global settings after that.
If you run the command in any other folder (without an .npmrc
file with custom settings) you should see whatever is set in the global .npmrc
and then the default configuration values of NPM.