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

Heroku部署Node.js应用报错:无法找到express模块

解决部署Node.js应用时的"Cannot find module 'express'"错误

问题分析

从错误日志来看,部署环境无法找到express模块——尽管你的package.json已将express列为依赖项,核心原因是部署过程中依赖包未被正确安装。

修复步骤

  • 移除冗余依赖:你的dependencies里包含了node包,这完全多余——Node.js是运行环境,不需要作为项目依赖安装。删除这一行,避免安装流程出现异常:

    "node": "^18.5.0" // 删掉该行
    
  • 修正启动脚本参数:start脚本中的--ext js是nodemon专属参数,node命令无法识别,会导致启动异常,修改为:

    "start": "node index.js"
    
  • 提交依赖锁定文件:在本地执行npm install生成package-lock.json,将该文件与package.json一同提交到Git仓库。锁定文件能让部署环境精确安装与本地一致的依赖版本,规避版本兼容问题。

  • 检查Git忽略规则:确认.gitignore没有错误忽略package.json或package-lock.json,但要保证node_modules处于忽略状态(本地依赖无需上传,由部署环境自行安装)。

  • 排查构建日志:登录Heroku控制台查看应用构建日志,确认npm install步骤是否成功执行。若存在安装失败提示,根据具体信息排查(如网络问题、依赖版本不兼容等)。

额外修正

你的dev脚本存在语法错误,缺少闭合单引号,修正后:

"dev": "nodemon index.js --exec 'npm start -s'"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:06:33