node.js - 通过单个命令安装私有(private)和公共(public) NPM 软件包

标签 node.js npm

我在 package.json 文件中列出了一些 npm 包,有些是公共(public)的,有些是私有(private)的。我想使用 npm install 在单个命令中安装两种类型的软件包。

如果npm注册表设置为全局,私有(private)包显示404,那么如何通过单个命令实现此目的。我希望两种类型的包都安装在node_modules上。

最佳答案

更快的解决方案是@hugomarisco 在评论部分中建议的。我假设您的私有(private)包位于任何注册表中 (A),其余部分是从 npmjs (B) 获取的。

为了更清楚,您可以使用 verdaccio并将多个注册表设置为上行链路,如此处所示。

enter image description here

您的上行链路配置可能如下所示,

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/

相关文章:

javascript - Mongo - 多个引用对象数组中的值的总和

node.js - 无法解析配置的 Swagger 路由器处理程序 : movie_get

node.js - 使用 npm 链接符号链接(symbolic link) react 模块以进行本地开发会产生错误

node.js - package-lock.json 包要求漏洞 (npm)

javascript - Uncaught TypeError : ctorParameters. 映射在更新到 Angular 7 后不是一个函数

node.js - package.json 中的波浪号 (~) 和插入符号 (^) 有什么区别?

javascript - 在生产中运行平均堆栈应用程序

node.js - 在nodejs中自动追加到日志文件

node.js - Azure Pipelines 中的变量可以用在 NodeJS 代码中吗?

html - 有没有一个包可以将内联样式转换为 css 类