【发布时间】:2021-03-21 23:36:12
【问题描述】:
尝试使用私有 npm 注册表为我工作的地方设置概念验证,以限制开发人员可以下载的包。我在 Azure Artifacts 上设置了一个提要,并将官方 npm 注册表 (https://registry.npmjs.org) 设置为唯一的上游源。此提要在 npmrc 文件中设置为注册表,并且项目正确地将其标识为注册表源。 (根据npm config get registry)。
当用户(有权从上游安装)尝试从空提要安装包时,它会正确安装包(来自上游)及其所有依赖项。它还将包保存到 Artifacts 提要中,但只有 部分 的依赖项保存到提要中。它保存了哪些依赖项似乎没有押韵或原因,因为几乎每次我安装相同的包时它都会改变。
当无权从上游源安装的用户尝试安装相同的包时,它在未保存的依赖项之一上失败,为工件提要提供 404 错误,说明该包在注册表中找不到。
我已经设置了很多不同的提要,包括项目范围和组织范围,以查看我是否可能设置了错误的设置/设置了错误,但是我设置的每个提要都有相同的行为.
是否有确定是否下载依赖项的特定标准,有没有办法可以在从上游安装包时将所有依赖项保存到提要?
【问题讨论】:
标签: azure npm azure-devops