1

我创建了一个 .npmrc 文件,将我配置为使用 VSTS pacakge 提要,但我的所有公共依赖项都不会安装(你知道,反应,lodash ...)

似乎一旦我将 .npmrc 文件配置为指向我的私人提要,所有公共包都不再可访问。

因为 npm,与 Nuget 不同,不支持多个包注册表(这是一个相关的SA 问题),我目前坚持运行 npm install 两次 - 一次没有和 .npmrc 文件来获取公共依赖项,一次使用 .npmrc文件以获取私有。

VSTS 不镜像/代理公共注册表吗?如果不是 - 我是否希望使用 .npmrc 文件的 2 个不同版本运行 npm install 两次?

4

2 回答 2

3

处理它的简单方法是为您的提要启用上游源。在此之后,如果包不存在于您的提要中,它将查找包形式 npmjs.com。

使用来自 npmjs.com 的包

另一种方式是,您可以在命令中指定注册表,例如:npm install -g vsts-npm-auth --registry https://registry.npmjs.com --always-auth false.

另一方面,我们可以将提要添加到项目的 .npmrc 文件中,而不是在用户的文件夹 (c:\Users[username]) 中,然后如果当前上下文在另一个路径中,它会使用公共注册表。

于 2017-10-23T09:03:03.673 回答
0

我对私有 npm 提要没有管理员权限。此外,vsts-npm-auth 仅适用于 Windows。

但是,我使用的私有包是有范围的。package.json 中的依赖项看起来像这样:

{
  ...
 "dependencies": {
  "@scope-name/package-name": "^1.0.1",
  ...
 }
}

向 .npmrc 添加范围注册表对我有用。

@scope-name:registry=https://npm.package.feed.com/registry
于 2020-03-20T02:31:09.433 回答