我在 package.json 文件中列出了一些 npm 包,有些是公共(public)的,有些是私有(private)的。我想使用 npm install
在单个命令中安装两种类型的软件包。
如果npm注册表设置为全局,私有(private)包显示404
,那么如何通过单个命令实现此目的。我希望两种类型的包都安装在node_modules上。
最佳答案
更快的解决方案是@hugomarisco 在评论部分中建议的。我假设您的私有(private)包位于任何注册表中 (A),其余部分是从 npmjs (B) 获取的。
为了更清楚,您可以使用 verdaccio并将多个注册表设置为上行链路,如此处所示。
您的上行链路配置可能如下所示,
uplinks:
npmjsA:
url: https://registry.npmjs.org/
registryB:
url: http://mirror.local.net/
然后只需按模式定义对每个远程的包访问
packages:
'my-private-*':
access: $authenticated
publish: $authenticated
proxy: registryB
'**':
access: all
publish: $authenticated
proxy: npmjs
通过这种方式,您可以安全地访问您的私有(private)包,同时 verdaccio 为您获取属于任何公共(public)注册表的 npmjs 包。
在你的终端中只需这样做
npm set registry http://localhost:4873
npm install
一切准备就绪。我希望这会有所帮助。
关于node.js - 通过单个命令安装私有(private)和公共(public) NPM 软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49658225/