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)
.npmrc file inside of your system user folder)
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.