You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Serverless部署Azure Functions时Node.js 18版本配置异常求助

解决Node.js 18部署Azure Functions时FUNCTIONS_EXTENSION_VERSION自动设为~3的问题

问题原因

Node.js 18对应的Azure Functions运行时版本为4,但`serverless-azure-functions`插件部署Node.js18时,未自动关联正确的运行时版本,导致默认使用了3。

解决方案

在serverless.yml的provider区块中手动添加functionsExtensionVersion配置项,强制指定运行时版本为~4:

修改后的完整配置文件如下:

service: node-azure

provider:
  name: azure
  region: East US
  stage: dev
  runtime: nodejs18
  functionsExtensionVersion: ~4 # 新增该行指定正确运行时版本

plugins:
  - serverless-azure-functions

package:
  exclude:
    - node_modules/**
    - .gitignore
    - package.json
    - .git/**

functions:
  hello:
     handler: handler.hello
     events:
       - http: true
         x-azure-settings:
           authLevel: anonymous

验证步骤

  1. 重新执行部署命令:serverless deploy
  2. 登录Azure Portal,找到目标Function App
  3. 进入配置 > 应用程序设置,确认FUNCTIONS_EXTENSION_VERSION已设为~4
  4. 同时检查运行时堆栈是否显示为Node.js 18

额外注意事项

  • 确保serverless-azure-functions插件为最新版本,旧版本对Node.js18支持可能不完善,可执行npm update serverless-azure-functions更新
  • 若更新插件后问题仍存在,尝试删除.serverless目录和node_modules,重新安装依赖后再部署

内容的提问来源于stack exchange,提问作者ganyavhad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 00:54:51