如何在纱线中使用多个npm注册表?

时间:2016-11-28 13:34:15

标签: javascript npm yarnpkg

我试图在我们的环境中设置Yarn 0.17.9,但我的注册表有问题。我们目前正在使用两个注册机构,官方npmjs和我们自己的内部网络注册表(Sinopia)。

问题是我们正在使用内部工具通过npm install使用--registry标记从一个或另一个中提取包。 yarn add没有--registry选项,我无法通过回退到npmjs全局设置自定义注册表。我试过.npmrc,但它只为项目中的npm / yarn设置了一个注册表。 .yarnrc

似乎无法正常工作.npmrc

有没有办法指定两个注册表(如果在第一个注册表中找不到包,则回退到第二个注册表)?或者为每个包指定不同的npm注册表?

3 个答案:

答案 0 :(得分:6)

Yarn没有支持--registry标志为npm但您可以在.yarnrc中设置注册表

如果您的.yarnrc被忽略,可以使用以下方法将其复制出〜/ .yarnrc:

yarn config set registry http://registry.com/registry//

答案 1 :(得分:4)

您可以在项目的根目录中创建一个.yarnrc文件,并将该行写在该文件中:

registry "https://registry.npmjs.org/"

这将作为项目特定的存储库。

答案 2 :(得分:0)

您可以尝试在.npmrc.yarnrc中设置其他注册表。

例如: 在.npmrc中:

registry=https://yourcompany/
virtual/:_authToken=credentials
always-auth=true

always-auth = true 需要是文件中的最后一行

.yarnrc中:

registry "https://registry.yarnpkg.com"

然后yarn add / npm install + private-pakage / public-packge将起作用。

相关问题