我们有一个通过 npm 在 Azure DevOps 上构建的 React 应用程序。目前我已经从我们的存储库中排除了我们的 package-lock.json,因为我们使用的一些包来自私有 npm 注册表,并且安装和构建都很好。然而,前几天最新版本的包破坏了我们的应用程序(它必然会发生)。当从 npm DevOps 任务运行 npm install 并且存在 package-lock.json 文件时,即使 package-lock.json 指向私有 npm 注册表,它也只会进入 npm 公共注册表。我不想锁定我的 package.json 文件,因为这就是 package-lock.json 的用途。如何让 Azure DevOps 构建使用 package-lock.json 并从私有 npm 注册表中检索包?我是否需要设置指向私有 npm 注册表的 Azure 工件?
更新:
以下是我在安装过程中收到的错误(存在 package-lock.json 时):
错误:404 未找到 - 在 C:\Program Files获取https://npm.sencha.com/@sencha%2fext-modern-treegrid/-/@sencha/ext-modern-treegrid-7.0.0.tgz详细堆栈\nodejs\node_modules\npm\node_modules\npm-registry-fetch\check-response.js:104:15 runMicrotasks () 详细堆栈在 processTicksAndRejections (internal/process/task_queues.js:97:5)
如果我在本地运行 npm install 可以正常工作。