I have recently started developing for node. The company that I work for has an internal npm registry. I want to know how to use different registry settings depending upon where I am developing. To illustrate, I have a directory structure like shown below:
~/Code
|
| -- My Projects
| |
| | -- Proj 1
| | -- Proj 2
|
|-- My Company
|
|--Proj 1
|--Proj 2
When I am developing in one of the projects in 'My Project', I would like the npm registry to point to https://registry.npmjs.org (the default registry). But when I am developing in one of the projects in 'My Company', I want npm registry to point to the company specific registry. Right now, my naive method is to use
npm config set registry
to update the registry.
Registry should only be needed when you're installing packages. You can use this when you wish to install from the private registry.
This may work too..
and just install the normal way when you're using the public registry.
There are two distinct use cases for using your private npm registry:
Installing: use the
--reg
or--registry
flag:Publishing: you can also use
--reg
or--registry
, but I would highly recommend that you use thepublishConfig
setting in yourpackage.json
file (See: the npm documentation)This prevents developers from accidentally publishing private modules to the public registry by forgetting the
--registry
flagSo add
publishConfig
to all of thepackage.json
for your Company use--registry
when installing from their private npm.https://github.com/npm/npm/issues/4751
npm recently added support for per-package .npmrc files, should do what you want.