我在Azure DevOps中配置了一个提要,其上游提要为 https://registry.npmjs.org 。
当我从终端运行yarn
时,package.json中的所有软件包及其依赖项都正确下载到了我的机器上,但是只有一部分被添加到了我的提要中(提要中列出了59个软件包)与我的node_modules
文件夹中的1029)。我的package.json
中明确列出了17个软件包。
我需要将所有软件包/依赖项存储在DevOps提要中,以便我们可以限制允许的软件包和版本。我们希望阻止常规开发人员在项目上添加新软件包或更改软件包版本-让他们仅从“批准的”软件包/版本中进行选择(我们通过要求他们使用仅配置有“受限” ”作为其上游来源)。如果还有另一种方法可以,那就很好。
答案 0 :(得分:1)
一旦您从上游来源消费了一个程序包,该程序包的副本将始终保存在您的Feed中。
这可能是由于缓存引起的,如果程序包已经在本地缓存了。它不会再次下载并将程序包保存在您的Feed中。
请运行命令npm cache verify
,您可以看到包路径以及其他详细信息。清理程序包缓存,然后重试,它应保存从上游提要中下载的所有程序包。
此外,还请尝试通过托管代理运行项目。使用Microsoft托管的代理,每次运行管道时,都会获得一个新的虚拟机。
我希望它能为您提供帮助。