node.js - Heroku 节点/Postgres 部署错误 - 代码:h10 desc="App crashed" method=GET path="/" status=503
问题描述
我在将 Node/Postgres 应用程序部署到 Heroku 时遇到问题。当我运行我的部署脚本时,构建完成,但在打开数据库连接后,由于缺少模块而引发错误。我的 Procfile 包含web: node main.js
package.json states 中的我的启动脚本"start": "node main"
。
下面我附上根目录中heroku logs
的代码和代码的副本。main.js
Heroku 日志
2021-01-09T23:23:17.000000+00:00 app[api]: Build started by user ********@gmail.com
2021-01-09T23:23:34.407776+00:00 app[api]: Release v17 created by user ********@gmail.com
2021-01-09T23:23:34.407776+00:00 app[api]: Deploy 664cb125 by user ********@gmail.com
2021-01-09T23:23:34.721923+00:00 heroku[web.1]: State changed from crashed to starting
2021-01-09T23:23:35.000000+00:00 app[api]: Build succeeded
2021-01-09T23:23:38.364250+00:00 heroku[web.1]: Starting process with command `node main.js`
2021-01-09T23:23:41.218590+00:00 app[web.1]: Opening database connection to shoppies-nominator
2021-01-09T23:23:41.615336+00:00 app[web.1]: internal/modules/cjs/loader.js:818
2021-01-09T23:23:41.615350+00:00 app[web.1]: throw err;
2021-01-09T23:23:41.615350+00:00 app[web.1]: ^
2021-01-09T23:23:41.615351+00:00 app[web.1]:
2021-01-09T23:23:41.615351+00:00 app[web.1]: Error: Cannot find module 'volleyball'
2021-01-09T23:23:41.615352+00:00 app[web.1]: Require stack:
2021-01-09T23:23:41.615353+00:00 app[web.1]: - /app/server/index.js
2021-01-09T23:23:41.615353+00:00 app[web.1]: - /app/main.js
2021-01-09T23:23:41.615355+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
2021-01-09T23:23:41.615356+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:667:27)
2021-01-09T23:23:41.615357+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:887:19)
2021-01-09T23:23:41.615358+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2021-01-09T23:23:41.615358+00:00 app[web.1]: at Object.<anonymous> (/app/server/index.js:3:20)
2021-01-09T23:23:41.615359+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:999:30)
2021-01-09T23:23:41.615359+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
2021-01-09T23:23:41.615360+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:863:32)
2021-01-09T23:23:41.615360+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:708:14)
2021-01-09T23:23:41.615361+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:887:19)
2021-01-09T23:23:41.615362+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2021-01-09T23:23:41.615362+00:00 app[web.1]: at Object.<anonymous> (/app/main.js:4:13)
2021-01-09T23:23:41.615362+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:999:30)
2021-01-09T23:23:41.615363+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
2021-01-09T23:23:41.615363+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:863:32)
2021-01-09T23:23:41.615364+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:708:14)
2021-01-09T23:23:41.615365+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
2021-01-09T23:23:41.615366+00:00 app[web.1]: at internal/main/run_main_module.js:17:47 {
2021-01-09T23:23:41.615366+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2021-01-09T23:23:41.615367+00:00 app[web.1]: requireStack: [ '/app/server/index.js', '/app/main.js' ]
2021-01-09T23:23:41.615367+00:00 app[web.1]: }
2021-01-09T23:23:41.703611+00:00 heroku[web.1]: Process exited with status 1
2021-01-09T23:23:41.752561+00:00 heroku[web.1]: State changed from starting to crashed
2021-01-09T23:58:53.127855+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=shoppies-nominator.herokuapp.com request_id=010f5699-f805-4ce0-92a5-74225a0eb610 fwd="69.141.164.13" dyno= connect= service= status=503 bytes= protocol=https
main.js
const {db} = require('./server/db')
const app = require('./server')
const PORT = process.env.PORT || 5409
db.sync()
.then(() => {
console.log('db synced')
app.listen(PORT, (e) => {
if (e) throw (e)
console.log(`Listening on port ${PORT}`)
})
})
有任何想法吗?
解决方案
推荐阅读
- r - 重命名列表中每个数据框中的列,而列数不同
- reactjs - 从哪里获取 azure app service VS-Code 扩展的部署日志
- c - 为什么 SAL 将此循环报告为潜在的缓冲区溢出?
- html - 如何在 html 中嵌入来自 Raspberry Pi 的流媒体视频?
- flutter - Flutter 小部件层次结构的最佳实践
- vba - 测试控件/字段是否在可见选项卡上 ms 访问
- python - 使用带有 WSL2 的 PYCHARM 专业版作为 python 解释器:无法访问某些包
- sql - SQLite - 按字符串内的数字排序
- elasticsearch - 如何为 Elasticsearch 索引中未声明的新属性配置多字段支持?
- vue.js - 如何将值从 v-select 传递给方法 - 它始终与默认值相同