Heroku部署Node.js应用遇持续错误求助
部署Node.js到Heroku失败的排查方案
- 修正端口配置:Heroku使用动态端口,代码里不能写死固定端口,必须读取环境变量:
const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Server running on port ${port}`); }); - 校验package.json核心配置:
- 必须包含
start脚本,示例:"scripts": { "start": "node app.js" } - 确认项目依赖都在
dependencies字段下,devDependencies中的依赖Heroku默认不安装,若需安装需设置环境变量NPM_CONFIG_PRODUCTION=false
- 必须包含
- 定位日志错误点:从你提供的日志截图中,重点追踪
Error开头的日志行,常见问题包括模块缺失、文件路径错误、数据库连接失败等 - 验证环境变量有效性:执行
heroku config命令查看已配置的环境变量,确保变量名称、值与代码中的引用完全匹配(注意大小写敏感) - 本地模拟Heroku环境测试:
- 本地设置端口变量:Linux/macOS执行
export PORT=5000,Windows执行set PORT=5000 - 运行
npm start启动项目,测试GET/POST路由是否正常响应
- 本地设置端口变量:Linux/macOS执行
- 检查.gitignore配置:确保未将
node_modules目录提交至Git仓库,Heroku会自动根据package.json安装依赖,无需提交该目录
内容的提问来源于stack exchange,提问作者Abhinav Srivastava
相关产品推荐
相关产品推荐

