共享主机部署带自定义Express服务器的Next.js项目提示找不到express模块
Next.js自定义服务器部署cPanel报错解决
这个Cannot find module 'express'报错的核心原因是cPanel的Node.js运行环境没有正确安装项目的生产依赖,按照以下步骤排查即可解决:
- 进入cPanel的「Setup Node.js Project」对应项目的管理页,确认基础配置:
- 应用启动文件设置为
server.js - 运行模式切换为
production(生产模式) - 选择的Node.js版本不低于12.22.0,符合Next.js 12的版本要求
- 应用启动文件设置为
- 不要手动上传本地的
node_modules文件夹到主机,本地依赖适配的是你本地的操作系统和Node版本,和共享主机的Linux环境大概率不兼容,需要在主机侧重新安装依赖 - 点击项目管理页的
Run NPM Install按钮,等待依赖安装完成;如果自动安装失败,可通过cPanel终端/SSH进入项目根目录/home/yusufcod/repositories/mywebsite-next-2,手动执行命令:npm install --production - 依赖安装完成后必须执行Next.js构建命令,在项目根目录执行
npm run build,生产环境启动前必须先完成构建,否则后续还会出现其他运行报错 - 回到项目管理页点击
Restart按钮重启应用,报错即可消失
内容的提问来源于stack exchange,提问作者saintyusuf
相关产品推荐
相关产品推荐

