通过配置.npmrc,我可以从内部/私有注册表发布和安装包,如下所示:
$ npm config set registry https://mynpm-registry.com但是,如果包在我的内部regisry.中不可用,我想配置我的.npmrc以代理到公共https://registry.npmjs.com/,。
我知道我可以配置多个npm配置文件--一个用于内部配置,一个用于外部注册-如下所示:
$ npmrc -c my-internal-profile
$ npmrc -c my-external-profile...but,这不是我要找的。如果我的内部注册表中没有可用的包,我希望有一个带有这两个注册中心的.npmrc配置,它将代理到公共注册表。
有这样的事吗?
发布于 2020-03-27 01:42:34
您可以这样做的一种方法是.npmrc文件中的作用域包。
作用域包被简单地作为分组在命名空间下的包。你可能已经看到@angular/core或@react/something了。因此,这些是范围内的包。
在.npmrc文件中,可以执行以下操作
@yourorg:registry=http://localhost:4040/
registry=https://registry.npmjs.com因此,这基本上意味着@yourorg下的所有内容都将从您的注册表中接收,但其他内容将从registry.npmjs.org中获取。
如果第一个选项不能解决您想要做的事情,那么您应该查看https://help.sonatype.com/repomanager3/download
这是一个注册表管理器,您可以在其中创建私有注册中心并创建一组注册中心(其中一个注册中心可以是https://registry.npmjs.org)。然后,对于npm来说,这看起来只是一个常规的调用,但是Sonatype做了以下工作:
如果在您的专用注册表中找不到
https://stackoverflow.com/questions/60877361
复制相似问题