如何修复 Azure 功能:不兼容的 Node.js 版本 (v16.4.1)

Posted

技术标签:

【中文标题】如何修复 Azure 功能:不兼容的 Node.js 版本 (v16.4.1)【英文标题】:How to fix Azure functions: Incompatible Node.js version (v16.4.1) 【发布时间】:2022-01-22 09:30:52 【问题描述】:

我已经阅读了doc,并使用它吐出的样板代码创建了一个带有 VS Code 扩展的新 azure 函数。

然后我在 local.settings.json 中进行本地设置(我在 Windows 上)


  "IsEncrypted": false,
  "Values": 
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "FUNCTIONS_EXTENSION_VERSION": "~4",
    "WEBSITE_NODE_DEFAULT_VERSION": "~16"
  

但是我仍然得到那个节点版本是一个不兼容的错误。

【问题讨论】:

它是否适用于节点 v14 ?可能是最新的节点版本有问题。对于本地调试,官方文档说要添加this entry @AnandSowmithiran 它确实适用于 v14。然后,当我部署确认窗口时弹出说我正在部署版本 4。令人困惑。 尝试删除其他 npm 版本并安装 v16 @AnandSowmithiran 我正在使用 nvm,所以当我切换到 16 或任何其他安装在 PATH 上的唯一一个时 【参考方案1】:

确保您的Function core tools 版本和Function Run time version 应为4.*。

如果版本不是 4.*.安装 Function Core Tools 最新版本检查 here 并安装所需版本的 node js 如果您使用的是 windows,则 的版本应该是 (16.9.1) >Linux你可以使用(16.13.0

Azure Functions 对 Node.js 16.x 的支持现已在 Azure Functions 运行时 4.0 中提供公共预览版。 当前的 LTS 版本 Node.js 16.13.0 可用于 Linux 函数应用。 Windows 函数应用目前支持 16.9.1 版本,将于 2021 年 12 月更新到 LTS 版本。请参阅here

检查您的 settings.json 文件定位 projectRuntime~4 并且 projectLanguagejavascript


"azureFunctions.deploySubpath": ".",
"azureFunctions.postDeployTask": "npm install (functions)",
"azureFunctions.projectLanguage": "javascript",
"azureFunctions.projectRuntime": "~4",
"debug.internalConsoleOptions": "neverOpen",
"azureFunctions.preDeployTask": "npm prune (functions)"

【讨论】:

如果回答对您有帮助,请Accept it as an Answer,以便遇到相同问题的其他人可以找到此解决方案并解决他们的问题。

以上是关于如何修复 Azure 功能:不兼容的 Node.js 版本 (v16.4.1)的主要内容,如果未能解决你的问题,请参考以下文章

如何修复不匹配的 Azure 管道 yaml asp.net sdk 版本

如何修复 azure-devops 构建步骤中的““复制”任务不支持复制目录”?

如何在 azure devops 构建代理中修复“*pod* 不支持配置文件”

如何通过 Visual Studio 修复功能应用发布中的错误

如何修复不兼容的块指针类型发送错误?

如何修复颤振的 AndroidX 不兼容问题?