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

Azure Web App部署Next.js应用报错:找不到模块'../server/require-hook'

解决Next.js部署Azure Web App时的"Cannot find module '../server/require-hook'"错误

可能的修复步骤

1. 确认Azure部署的依赖安装流程

Azure部署时可能因构建命令缺失导致依赖未正确安装:

  • 登录Azure门户,进入Web App的部署中心-配置,检查构建命令是否包含npm install或npm ci
  • 若使用GitHub Actions部署,检查工作流文件,确保有明确的依赖安装步骤:
    - name: Install dependencies
      run: npm install
    

2. 避免上传本地node_modules

本地node_modules与服务器环境可能存在文件差异或权限问题:

  • 确保.gitignore中包含node_modules,让Azure在服务器端重新安装依赖
  • 若之前手动上传过node_modules,通过Kudu控制台删除服务器上的该文件夹,再重新触发部署

3. 锁定Next.js版本

package.json中的版本范围可能导致服务器安装的Next.js版本与本地不一致:

  • 将package.json中的Next.js版本改为具体值,比如"next": "14.2.13"(替换为你本地使用的版本)
  • 重新生成package-lock.json并提交至GitHub

4. 修改Azure启动命令

跳过node_modules/.bin/next的软链接,直接指定启动文件路径:

  • 在Azure门户的Web App配置-常规设置中,将启动命令改为:
    node node_modules/next/dist/bin/next start -p $PORT
    

5. 清理Azure部署缓存

旧缓存可能导致依赖文件损坏:

  • 进入Azure Web App的高级工具-Kudu-控制台,执行以下命令:
    rm -rf node_modules
    rm package-lock.json
    npm install
    npm run build
    
    执行完成后重启Web App

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 11:32:43