yarn
yarn classic (1.x)
Be aware
.npmrcfile 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
--registryor.npmrcfile 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
unsafeHttpWhitelistis only need it if you don't usehttpswith 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
yarn npm loginissues, read verdaccio#1737 or yarn-berry#1848.yarn npm publishdoes not send README, read verdaccio#1905 or yarn-berry#1702.