最近在将reactjs应用程序部署为azure静态Web应用程序时, 自动升级node和npm导致与peer相关的错误 依赖性。
以前的版本-
使用Node版本:v14.19.1
使用Npm版本:6.14.16
当前版本-
使用Node版本:v16.18.0
使用Npm版本:8.19.2
npm 警告 ERESOLVE 覆盖对等依赖
npm WARN 解析时:@date-io/[电子邮件受保护]
发现 npm 警告:[电子邮件受保护]
npm 警告node_modules/date-fns
来自根项目的 npm WARN date-fns@"^2.29.3"
npm 警告另外 2 个(@mui/x-date-pickers、@date-io/date-fns)
npm 警告
npm 警告无法解决依赖关系:
npm 警告对等 date-fns@"2.0.0-alpha.27" 来自 @date-io/[电子邮件受保护]
npm 警告node_modules/@date-io/date-fns
npm 警告 @date-io/date-fns@"1.1.0" 来自 [电子邮件受保护]
npm 警告node_modules/material-table
解决此问题的正确解决方案是什么,因为我尝试添加 yml 文件中的任务升级节点版本,它不起作用
node.js由项目本身决定。无法通过添加任务在 YAML Pipeline 中设置。
请参阅此文档:配置 Azure 静态 Web 应用程序
您可以在项目中添加一个文件名:staticwebapp.config.json,并添加以下代码:
{
"platform": {
"apiRuntime": "node:14"
}
}
例如:
或者您可以在 Package.json 文件中定义 Engines 字段。
例如:
{
...
"engines": {
"npm": "^6.14.17",
"node": "^v14.20.1"
},
....
}
结果:
您基本上可以将其添加为环境:
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
env:
NODE_VERSION: 20.11.1
NPM_CONFIG_LEGACY_PEER_DEPS: true # Also if --legacy-peer-deps needed.
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_GRAY_OCEAN_0E8C92D0F }}