angularjs - Azure管道 "npm install"但包不再存在

标签 angularjs azure azure-devops azure-pipelines

在 Azure 管道中构建我的项目时,有一个步骤会执行 npm install

然而,它所需的包之一在 NPM 上似乎不再存在。我现在有什么选择?

8412 error code E404

8413 error 404 Not Found - GET https://registry.npmjs.org/angular-appinsights/-/angular-appinsights-0.0.4.tgz

8414 error 404

8415 error 404 '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d1b0bfb6a4bdb0a3fcb0a1a1b8bfa2b8b6b9a5a291e1ffe1ffe5" rel="noreferrer noopener nofollow">[email protected]</a>' is not in the npm registry.

8416 error 404 You should bug the author to publish it (or use the name yourself!)
  • 编辑我已将此包私下添加到 Azure Artifact feed 以及所有其他 NPM 包(非私下),这是否意味着如果将来有人从 NPM 中删除该包,我仍然会拥有(artifact feed)作为备份?

最佳答案

警告:这可能不是最佳实践

我在使用一些基于 Material UI 测试版 构建的遗留应用程序时遇到了类似的问题。将应用程序放在 CI/CD 管道上时,我们必须做的是在启动之前npm install让脚本将 node_modules 文件夹移动到构建应用程序的位置,然后启动 npm run build因为在本例中它是一个 React 应用程序(我猜它与 Angular 类似)。

我建议您在运行 npm install 之前部署时,将该包的副本从 node_modules 文件夹复制到 node_modules 文件夹中。因为 npm 不会安装它发现已经存在的软件包。

当然,最佳实践是更新该软件包,但我猜这不取决于您。如果可以的话,我建议您要求开发人员检查依赖项或告诉您他们如何在本地部署该应用程序,因为根据我所做的少量研究,我认为还有其他可用的最新软件包。他们可能已经安装了最新的软件包,但忘记删除旧的软件包,并且由于他们从未需要重新部署,所以根本没有偶然发现该错误,另一种可能性是他们正在传递 node_modules 文件夹。

关于angularjs - Azure管道 "npm install"但包不再存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73799103/

相关文章:

python-3.x - 如何读取存储在azure blob存储中的.py文件中的变量

sql-server - 使用 VNET 进行 Azure 数据库部署管道部署

javascript - 现场多次加载Angular.js的开销

javascript - 为什么 $http.get 返回 304 错误

javascript - 在 AngularJS 中调整导航指令

razor - @Html.Raw(Url.Action(...)) 在部署服务器上计算为空字符串

Azure Artifacts - 下载特定版本的通用工件

azure-devops - Visual Studio Team Services - 构建代理/包管理

asp.net - 如何使用暂存槽管理 Azure 应用服务中的 robots.txt

javascript - 如何以 Angular 滚动到底部或将焦点移动到底部?