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

如何解决Microsoft Azure Web App中Next.js应用的next: not found错误

Next.js部署Azure Web App时next: not found错误的解决方案

问题概述

将Next.js应用部署到Azure Web App时触发sh: 1: next: not found错误,本地及Vercel/Render部署均正常,Github Actions工作流显示部署成功,但实际访问报错,使用Linux环境+Node.js 20-LTS运行时栈。

可能的原因及修复步骤

1. 用npx调用Next命令

Azure环境可能无法直接识别node_modules下的可执行文件,修改启动命令强制使用npx调用:

  • 修改package.json的start脚本:
"scripts": {
  "start": "npx next start"
}
  • 或直接在Azure门户的配置→常规设置→启动命令中设置为npx next start

2. 确保Next依赖在dependencies中

生产环境部署时,若使用npm install --production,devDependencies中的包不会被安装。检查package.json,确认next在dependencies而非devDependencies:

"dependencies": {
  "next": "^14.x.x",
  // 其他生产依赖
}

3. 修复PATH路径问题

手动将node_modules的bin目录加入PATH,修改启动命令:

"scripts": {
  "start": "PATH=$PATH:./node_modules/.bin next start"
}

或在Azure启动命令中直接配置该路径。

4. 验证Azure的依赖安装逻辑

从日志看,Azure在解压预打包的node_modules,可能存在依赖缺失:

  • 若使用Github Actions部署,确保工作流包含npm ci或npm install步骤,且上传完整的node_modules及构建产物
  • 开启Azure Oryx自动构建:在部署中心设置自动从Github拉取代码,Oryx会自动处理依赖安装与构建,避免手动上传的包缺失问题

5. 确认构建产物完整上传

Next.js生产环境需要next build生成的.next文件夹,确保部署时该文件夹与package.json、node_modules一同上传到Azure。若用Github Actions,工作流需包含npm run build步骤,并将.next纳入上传文件列表。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:23:18