如何仅为特定项目设置 npm registry

How to set npm registry only for the specific project

我正在为我的一个 npm 包使用私有 npm 注册表,我还有一些从默认 npm 注册表引用的其他包。我现在正在做的是:

npm config set registry https://private.registry.endpoint

但是,这会全局更改注册表。我可以在项目的根目录下手动创建一个 .npmrc 并在其中手动设置注册表。这不会替换我的全局注册表,并且仅为特定项目使用私有注册表。但是,我想使用命令来执行此操作,而不必手动创建 .npmrc 并设置注册表。

如果你想知道我为什么需要这个,我自己知道怎么做,但是我必须指导其他用户如何做,而且只为他们提供一个命令会更简单。我需要知道是否有办法做这样的事情:

npm config --local set registry https://private.registry.endpoint

我们通过限定私有包的范围解决了这个问题,这允许我们仅为特定的 @scope 添加私有注册表,而不是更改整个默认注册表来下载私有包。

例如

如果我们有一个名为 package-name 的包,在我们的私有注册表中我们将其发布为 @company/package-name,然后将私有注册表范围设置为 @company.

npm config set @company:registry https://private.registry.endpoint