How to specify local registry in yarn?

  • Create an npm (hosted) repository to use as your private registry. I believe you have already done this.
  • Create an npm (proxy) repository pointing to your external repository of choice (https://registry.yarnpkg.com or https://registry.npmjs.org/).
  • Create an npm (group) with your private registry on first position and the proxy registry on second position.
  • Point yarn to your group repository: yarn config set registry http://nexus.local/repository/npm-group/. If required by your Nexus configuration, authenticate yarn: yarn login.

Also be wary of yarn using any npm config you might have over it's own: https://github.com/yarnpkg/yarn/issues/4862

Update for Yarn v2+:

Yarn v2+ uses a different configuration key for updating the NPM registry, called npmRegistryServer (see their Migration page for details):

yarn config set npmRegistryServer http://nexus.local/repository/npm-group/

You can set a different registry in yarn by using the following command:

yarn config set registry <url-to-your-registry>

Verify that it has been set by typing the following command:

yarn config get registry

For a one-off change in registry you can use the variable YARN_REGISTRY like this:

YARN_REGISTRY="<url-to-your-registry>" yarn config get registry

or

YARN_REGISTRY="<url-to-your-registry>" yarn publish