Skip to main content
Version: 5.x

yarn

yarn classic (1.x)

Be aware .npmrc file configuration is recognized by yarn classic.

The classic version is able to regonise the .npmrc file, but also provides their own configuration file named .yarnrc.

To set up a registry, create a file and define a registry.

// .yarnrc
registry "http://localhost:4873"

yarn@1.x by default does not send the token on every request unless is being opt-in manually, this might causes 403 error if you have protected the access of your packages.

To change this behaviour enable always-auth in your configuration :

always-auth=true

or running

npm config set always-auth true

yarn modern (>=2.x)

Yarn modern does not recognize --registry or .npmrc file anymore.

For defining a registry you must use the .yarnrc.yml located in the root of your project or global configuration.

When you publish a package the npmRegistryServer must be used. Keep in mind the publishConfig.registry in the package.json will override this configuration.

// .yarnrc.yml
npmRegistryServer: "http://localhost:4873"

unsafeHttpWhitelist:
- localhost

unsafeHttpWhitelist is only need it if you don't use https with a valid certificate.

Using scopes is also possible and more segmented, you can define a token peer scope if is required.

npmRegistries:
"https://registry.myverdaccio.org":
npmAlwaysAuth: true
npmAuthToken: <TOKEN>
npmScopes:
my-company:
npmRegistryServer: https://registry.myverdaccio.org
npmPublishRegistry: https://registry.myverdaccio.org

for logging via CLi use:

yarn npm login --scope my-company

Troubleshooting

Known issues