VSTS包提要:在配置客户端以使用vsts提要后,无法安装公共npm包

时间:2017-10-22 05:11:23

标签: node.js npm azure-artifacts

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

似乎一旦我将.npmrc文件配置为指向我的私人订阅源,就无法再访问所有公共包。

因为npm与Nuget相反,不支持多个软件包注册表(这里是相关的SA question),我目前只能运行npm install两次 - 一次没有和.npmrc文件到获取公共依赖项,并使用.npmrc文件获取私有。

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

2 个答案:

答案 0 :(得分:2)

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

Use packages from npmjs.com

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

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

答案 1 :(得分:0)

我没有私人npm feed的管理员权限。另外,vtss-npm-auth仅适用于Windows。

但是,我使用的私有软件包是有作用域的。依赖关系在package.json中看起来像这样:

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

在.npmrc中添加范围限定的注册表对我来说很有效。

@scope-name:registry=https://npm.package.feed.com/registry