我为我的一个npm包使用了一个私有的npm注册表,我还从默认的npm注册表引用了几个其他的包。我现在做的是
npm config set registry https://private.registry.endpoint
但是,这会在全球范围内改变注册表。我可以在项目的根目录下手动创建一个.npmrc
,并在其中手动设置注册表。这不会替换我的全局注册表,并且仅为特定项目使用私有注册表。但是,我想用一个命令来完成这项工作,而不必手动创建.npmrc
并设置注册表。
如果你想知道我为什么需要这个,我知道如何自己做,但是我必须指导其他用户如何做,并且只为他们提供一个命令会更简单。我想知道是否有办法做到这一点:
npm config --local set registry https://private.registry.endpoint
3条答案
按热度按时间b1uwtaje1#
我们通过限定私有包的范围来解决这个问题,这允许我们只为特定的
@scope
添加私有注册表,而不是更改整个默认注册表来下载私有包。例如
如果我们有一个名为
package-name
的包,在私有注册表中,我们将其发布为@company/package-name
,然后将私有注册表范围设置为@company
。npm config set @company:registry https://private.registry.endpoint
xe55xuns2#
我正面临着这个问题。通过将
.npmrc
文件放在项目根目录下并分配所需的注册表来解决它。pxiryf3j3#
您所寻求的存在于
--location project
选项中。见下文: