如何配置npm:优先从私有仓库查非作用域包,兼容作用域包与公共仓库
npm 配置方案:私有包优先拉取 + 公共包正常访问
可以实现你的需求,只需在.npmrc里添加指定非作用域包的仓库配置,同时保留作用域配置和公共仓库默认值,具体配置如下:
- 保留作用域包的私有仓库映射,确保
@company/开头的包都走私有仓库:@company:registry=https://private.registry - 给指定非作用域包
package2单独配置私有仓库,让npm拉取它时优先访问私有源:package2:registry=https://private.registry - 设置全局默认仓库为公共npm源,保证其他未指定的公共包正常拉取:
registry=https://registry.npmjs.org
完整的.npmrc示例
@company:registry=https://private.registry package2:registry=https://private.registry registry=https://registry.npmjs.org
配置效果
@company/package1等作用域包:直接从私有仓库拉取package2:优先从私有仓库获取(匹配到单独配置的仓库规则)- 其他公共包:从默认的npm公共仓库拉取
如果你的私有仓库支持代理公共包(比如Verdaccio、Nexus这类仓库工具),也可以把全局registry设为私有仓库,同时配置公共包代理规则,但上面的方案是不依赖私有仓库额外功能的通用解法,兼容性更强。
内容的提问来源于stack exchange,提问作者Pham Cuong Manh
相关产品推荐
相关产品推荐

