我想在 Heroku 上部署我的 Expree.js“博客网站”项目,但是在尝试了很多次之后,我收到“应用程序错误”,您的应用程序已经崩溃了“H10”。这是 package.json 文件。我遵循了所有步骤,如果我遗漏了什么,请告诉我:
{
"name": "ejs-challenge",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"repository": {
"type": "git",
"url": "git@github.com:soniiya/Blogging-final.git"
},
"author": "",
"license": "ISC",
"engines": {
"node": "14.17.6"
},
并且还在我的 app.js 文件中添加了这个:
app.listen(process.env.PORT || 3000, function () {
console.log("Server started on port 3000");
});
我也创建了 Procfile “web: node app.js”。实际上,当我部署没有用户身份验证功能的同一个应用程序时,它部署成功,但是当添加身份验证时,它现在崩溃了。我使用 MongoDB 作为数据库,如果您有任何建议,请告诉我。什么会导致heroku上的“应用程序崩溃”?
This is the "heroku logs":
$ heroku logs --app agile-journey-27742
» Warning: heroku update available from 7.53.0 to
» 7.59.2.
2021-12-25T15:01:48.138120+00:00 app[api]: Release v4 created by user soniyajaiswal995@gmail.com
2021-12-25T15:01:48.138120+00:00 app[api]: Set DB_PATH config vars by user soniyajaiswal995@gmail.com
2021-12-25T15:01:48.343377+00:00 heroku[web.1]: State changed from crashed to starting
2021-12-25T15:01:51.169675+00:00 heroku[web.1]: Starting process with command `node app.js`
2021-12-25T15:01:52.431858+00:00 app[web.1]: Sat, 25 Dec 2021 15:01:52 GMT express-session deprecated req.secret; provide secret option at app.js:50:9
2021-12-25T15:01:52.432471+00:00 app[web.1]: Warning: connect.session() MemoryStore is not
2021-12-25T15:01:52.432472+00:00 app[web.1]: designed for a production environment, as it will leak
2021-12-25T15:01:52.432472+00:00 app[web.1]: memory, and will not scale past a single process.
2021-12-25T15:01:52.442695+00:00 app[web.1]: /app/node_modules/passport-oauth2/lib/strategy.js:87
2021-12-25T15:01:52.442712+00:00 app[web.1]: if (!options.clientID) { throw new TypeError('OAuth2Strategy requires a clientID option'); }
2021-12-25T15:01:52.442713+00:00 app[web.1]: ^
2021-12-25T15:01:52.442713+00:00 app[web.1]:
2021-12-25T15:01:52.442713+00:00 app[web.1]: TypeError: OAuth2Strategy requires a clientID option
2021-12-25T15:01:52.442714+00:00 app[web.1]: at Strategy.OAuth2Strategy (/app/node_modules/passport-oauth2/lib/strategy.js:87:34)
2021-12-25T15:01:52.442714+00:00 app[web.1]: at new Strategy (/app/node_modules/passport-google-oauth20/lib/strategy.js:52:18)
2021-12-25T15:01:52.442714+00:00 app[web.1]: at Object.<anonymous> (/app/app.js:97:14)
2021-12-25T15:01:52.442714+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1072:14)
2021-12-25T15:01:52.442718+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
2021-12-25T15:01:52.442718+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:937:32)
2021-12-25T15:01:52.442719+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:778:12)
2021-12-25T15:01:52.442719+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
2021-12-25T15:01:52.442719+00:00 app[web.1]: at internal/main/run_main_module.js:17:47
2021-12-25T15:01:52.585001+00:00 heroku[web.1]: Process exited with status 1
2021-12-25T15:01:52.686499+00:00 heroku[web.1]: State changed from starting to crashed
2021-12-25T15:02:05.594774+00:00 app[api]: Set DB_ADMIN config vars by user soniyajaiswal995@gmail.com
2021-12-25T15:02:05.594774+00:00 app[api]: Release v5 created by user soniyajaiswal995@gmail.com
2021-12-25T15:02:06.819898+00:00 heroku[web.1]: State changed from crashed to starting
2021-12-25T15:02:09.868314+00:00 heroku[web.1]: Starting process with command `node app.js`
2021-12-25T15:02:11.032225+00:00 app[web.1]: Sat, 25 Dec 2021 15:02:11 GMT express-session deprecated req.secret; provide secret option at app.js:50:9
2021-12-25T15:02:11.032895+00:00 app[web.1]: Warning: connect.session() MemoryStore is not
2021-12-25T15:02:11.032896+00:00 app[web.1]: designed for a production environment, as it will leak
2021-12-25T15:02:11.032896+00:00 app[web.1]: memory, and will not scale past a single process.
2021-12-25T15:02:11.042607+00:00 app[web.1]: /app/node_modules/passport-oauth2/lib/strategy.js:87
2021-12-25T15:02:11.042608+00:00 app[web.1]: if (!options.clientID) { throw new TypeError('OAuth2Strategy requires a clientID option'); }
2021-12-25T15:02:11.042609+00:00 app[web.1]: ^
2021-12-25T15:02:11.042609+00:00 app[web.1]:
2021-12-25T15:02:11.042610+00:00 app[web.1]: TypeError: OAuth2Strategy requires a clientID option
2021-12-25T15:02:11.042610+00:00 app[web.1]: at Strategy.OAuth2Strategy (/app/node_modules/passport-oauth2/lib/strategy.js:87:34)
2021-12-25T15:02:11.042610+00:00 app[web.1]: at new Strategy (/app/node_modules/passport-google-oauth20/lib/strategy.js:52:18)
2021-12-25T15:02:11.042611+00:00 app[web.1]: at Object.<anonymous> (/app/app.js:97:14)
2021-12-25T15:02:11.042611+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1072:14)
2021-12-25T15:02:11.042611+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
2021-12-25T15:02:11.042612+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:937:32)
2021-12-25T15:02:11.042612+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:778:12)
2021-12-25T15:02:11.042612+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
2021-12-25T15:02:11.042613+00:00 app[web.1]: at internal/main/run_main_module.js:17:47
2021-12-25T15:02:11.173932+00:00 heroku[web.1]: Process exited with status 1
2021-12-25T15:02:11.236915+00:00 heroku[web.1]: State changed from starting to crashed
2021-12-25T15:02:18.714430+00:00 app[api]: Set DB_PASS config vars by user soniyajaiswal995@gmail.com
2021-12-25T15:02:18.714430+00:00 app[api]: Release v6 created by user soniyajaiswal995@gmail.com
2021-12-25T15:02:18.957618+00:00 heroku[web.1]: State changed from crashed to starting
2021-12-25T15:02:21.915023+00:00 heroku[web.1]: Starting process with command `node app.js`
2021-12-25T15:02:23.655207+00:00 app[web.1]: Sat, 25 Dec 2021 15:02:23 GMT express-session deprecated req.secret; provide secret option at app.js:50:9
2021-12-25T15:02:23.656076+00:00 app[web.1]: Warning: connect.session() MemoryStore is not
2021-12-25T15:02:23.656077+00:00 app[web.1]: designed for a production environment, as it will leak
2021-12-25T15:02:23.656077+00:00 app[web.1]: memory, and will not scale past a single process.
2021-12-25T15:02:23.667352+00:00 app[web.1]: /app/node_modules/passport-oauth2/lib/strategy.js:87
2021-12-25T15:02:23.667354+00:00 app[web.1]: if (!options.clientID) { throw new TypeError('OAuth2Strategy requires a clientID option'); }
2021-12-25T15:02:23.667355+00:00 app[web.1]: ^
2021-12-25T15:02:23.667355+00:00 app[web.1]:
2021-12-25T15:02:23.667355+00:00 app[web.1]: TypeError: OAuth2Strategy requires a clientID option
2021-12-25T15:02:23.667356+00:00 app[web.1]: at Strategy.OAuth2Strategy (/app/node_modules/passport-oauth2/lib/strategy.js:87:34)
2021-12-25T15:02:23.667356+00:00 app[web.1]: at new Strategy (/app/node_modules/passport-google-oauth20/lib/strategy.js:52:18)
2021-12-25T15:02:23.667356+00:00 app[web.1]: at Object.<anonymous> (/app/app.js:97:14)
2021-12-25T15:02:23.667357+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1072:14)
2021-12-25T15:02:23.667357+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
2021-12-25T15:02:23.667358+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:937:32)
2021-12-25T15:02:23.667358+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:778:12)
2021-12-25T15:02:23.667358+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
2021-12-25T15:02:23.667359+00:00 app[web.1]: at internal/main/run_main_module.js:17:47
2021-12-25T15:02:24.059553+00:00 heroku[web.1]: Process exited with status 1
2021-12-25T15:02:24.113339+00:00 heroku[web.1]: State changed from starting to crashed
2021-12-25T15:04:27.000000+00:00 app[api]: Build started by user soniyajaiswal995@gmail.com
2021-12-25T15:04:55.732410+00:00 app[api]: Release v7 created by user soniyajaiswal995@gmail.com
2021-12-25T15:04:55.732410+00:00 app[api]: Deploy 28c347cb by user soniyajaiswal995@gmail.com
2021-12-25T15:04:55.964469+00:00 heroku[web.1]: State changed from crashed to starting
2021-12-25T15:04:58.000000+00:00 app[api]: Build succeeded
2021-12-25T15:04:58.661868+00:00 heroku[web.1]: Starting process with command `node app.js`
2021-12-25T15:04:59.859458+00:00 app[web.1]: Sat, 25 Dec 2021 15:04:59 GMT express-session deprecated req.secret; provide secret option at app.js:27:9
2021-12-25T15:04:59.860069+00:00 app[web.1]: Warning: connect.session() MemoryStore is not
2021-12-25T15:04:59.860070+00:00 app[web.1]: designed for a production environment, as it will leak
2021-12-25T15:04:59.860070+00:00 app[web.1]: memory, and will not scale past a single process.
2021-12-25T15:04:59.869458+00:00 app[web.1]: /app/node_modules/passport-oauth2/lib/strategy.js:87
2021-12-25T15:04:59.869466+00:00 app[web.1]: if (!options.clientID) { throw new TypeError('OAuth2Strategy requires a clientID option'); }
2021-12-25T15:04:59.869466+00:00 app[web.1]: ^
2021-12-25T15:04:59.869467+00:00 app[web.1]:
2021-12-25T15:04:59.869467+00:00 app[web.1]: TypeError: OAuth2Strategy requires a clientID option
2021-12-25T15:04:59.869467+00:00 app[web.1]: at Strategy.OAuth2Strategy (/app/node_modules/passport-oauth2/lib/strategy.js:87:34)
2021-12-25T15:04:59.869467+00:00 app[web.1]: at new Strategy (/app/node_modules/passport-google-oauth20/lib/strategy.js:52:18)
2021-12-25T15:04:59.869468+00:00 app[web.1]: at Object.<anonymous> (/app/app.js:66:14)
rror code=H10 desc="App crashed" method=GET path="/" host=agile-journey-27742.herokuapp.com request_id=aa9d093d-d785-4933-9c55-b9ce42ed5075 fwd="110.227.56.110" dyno= connect= service= status=503 bytes= protocol=https
2021-12-25T15:05:06.063156+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=agile-journey-27742.herokuapp.com request_id=231a0059-325c-4e81-b20d-20c70a8065d3 fwd="110.227.56.110" dyno= connect= service= status=503 bytes= protocol=https