Fyl*_*lix 2 npm-install azure-devops
我们有一个 CD/CI Azure DevOps 构建管道,今天突然停止工作。它已在我们的管道中成功调用数月。
失败的组件是 "npm install" ,它失败并在详细日志中显示以下错误:
我在谷歌周围搜索并建议运行:npm cache clear --force before npm install。我试过了,但同样的错误仍然存在。
然后我更早地在日志中查找并看到以下内容:
我尝试浏览到https://github.com/sass/node-sass/releases/download/v4.12.0/win32-x64-83_binding.node并收到消息“找不到页面”。
我不知道这是否与 npm 失败的根本原因有关,但它似乎支持我的假设,即截至撰写本文时(2020 年 11 月 17 日),“npm install”存在问题。
使用 Azure DevOps for CD/CI 的其他人有同样的问题吗?我查看 NPM 事件页面并看到此问题https://status.npmjs.org/incidents/r1tlhscrw3r6但它应该已修复。
Gri*_*air 10
根据@Matt的回答,我将发布您需要修复此问题的 yml 片段:
- task: NodeTool@0
inputs:
versionSpec: '12.x'
Run Code Online (Sandbox Code Playgroud)
Dav*_*tes 10
对于仍然使用图形 UI 而不是 YML 文件的任何人,您可以添加“ Node.js 工具安装程序”任务并配置其版本。它看起来像这样(其中版本规范包含您要运行的 Node.js 版本):
另请注意,它是在“ npm install ”任务之前!
最近,对默认版本的 Node.js 的默认 Azure DevOps 代理映像进行了重大更改。它从 12.x 增加到 14.x。
重大变化
图像上 Node.JS 的默认版本将从 12.x 更新到 14.x
目标日期
对于 Windows、Ubuntu 映像,此更改的推出将于 2020 年 11 月 2 日开始,需要 3-4 天对于 MacOS 映像,将于 11 月 9 日开始推出。
变革的动机
在图像上,我们总是默认安装 LTS 版本的 Node.JS。2020 年 10 月 27 日,Node.JS 14 成为 LTS 版本。2020 年 11 月 30 日,Node.JS 12 将切换到维护模式。
可能的影响
如果你依赖默认的 Node.JS 版本并且你的项目与 Node.JS 14 不兼容,它可能会开始失败
缓解方式
请考虑使用 Node.js工具安装程序任务(用于 Azure DevOps)和 setup-node(用于 GitHub 操作)切换回 Node.JS 12。切换将花费不到一秒钟的时间。Node.JS 12 仍然可以与 Node.JS 8、10 一起用于图像。
归档时间: |
|
查看次数: |
1533 次 |
最近记录: |