修复在本地运行但不能在heroku上运行的应用程序

时间:2019-05-09 10:13:35

标签: node.js heroku

我是heroku和node.js的新手,我想了解它们的工作原理。我尝试了heroku提供的教程。在this step之前一切都很好。我推送并尝试在网络上打开,但是doesn't work。日志说它找不到模块,同时我已经使用npm安装了它。

我尝试使用其他新克隆进行了3次,但均无效果。我还复制了教程中给出的所有index.js脚本。

索引:

const cool = require('cool-ascii-faces')
const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000

express()
  .use(express.static(path.join(__dirname, 'public')))
  .set('views', path.join(__dirname, 'views'))
  .set('view engine', 'ejs')
  .get('/', (req, res) => res.render('pages/index'))
  .get('/cool', (req, res) => res.send(cool()))
  .listen(PORT, () => console.log(`Listening on ${ PORT }`))

日志:

2019-05-09T09:56:08.000000+00:00 app[api]: Build succeeded
2019-05-09T09:56:08.892352+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2019-05-09T09:56:08.986034+00:00 heroku[web.1]: Process exited with status 143
2019-05-09T09:56:09.884923+00:00 heroku[web.1]: Starting process with command `node index.js`
2019-05-09T09:56:11.789509+00:00 heroku[web.1]: State changed from starting to crashed
2019-05-09T09:56:11.800910+00:00 heroku[web.1]: State changed from crashed to starting
2019-05-09T09:56:11.773890+00:00 heroku[web.1]: Process exited with status 1
2019-05-09T09:56:11.731995+00:00 app[web.1]: internal/modules/cjs/loader.js:584
2019-05-09T09:56:11.732041+00:00 app[web.1]: throw err;
2019-05-09T09:56:11.732043+00:00 app[web.1]: ^
2019-05-09T09:56:11.732044+00:00 app[web.1]: 
2019-05-09T09:56:11.732045+00:00 app[web.1]: Error: Cannot find module 'cool-ascii-faces'
2019-05-09T09:56:11.732047+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
2019-05-09T09:56:11.732048+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:508:25)
2019-05-09T09:56:11.732049+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:637:17)
2019-05-09T09:56:11.732050+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:22:18)
2019-05-09T09:56:11.732052+00:00 app[web.1]: at Object.<anonymous> (/app/index.js:1:76)
2019-05-09T09:56:11.732053+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:701:30)
2019-05-09T09:56:11.732054+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
2019-05-09T09:56:11.732055+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:600:32)
2019-05-09T09:56:11.732056+00:00 app[web.1]: at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
2019-05-09T09:56:11.732058+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:531:3)
2019-05-09T09:56:14.928577+00:00 heroku[web.1]: Starting process with command `node index.js`
2019-05-09T09:56:17.311684+00:00 heroku[web.1]: State changed from starting to crashed
2019-05-09T09:56:17.291125+00:00 heroku[web.1]: Process exited with status 1
2019-05-09T09:56:17.224570+00:00 app[web.1]: internal/modules/cjs/loader.js:584
2019-05-09T09:56:17.224594+00:00 app[web.1]: throw err;
2019-05-09T09:56:17.224596+00:00 app[web.1]: ^
2019-05-09T09:56:17.224598+00:00 app[web.1]: 
2019-05-09T09:56:17.224600+00:00 app[web.1]: Error: Cannot find module 'cool-ascii-faces'
2019-05-09T09:56:17.224601+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
2019-05-09T09:56:17.224603+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:508:25)
2019-05-09T09:56:17.224605+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:637:17)
2019-05-09T09:56:17.224609+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:22:18)
2019-05-09T09:56:17.224610+00:00 app[web.1]: at Object.<anonymous> (/app/index.js:1:76)
2019-05-09T09:56:17.224612+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:701:30)
2019-05-09T09:56:17.224614+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
2019-05-09T09:56:17.224615+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:600:32)
2019-05-09T09:56:17.224617+00:00 app[web.1]: at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
2019-05-09T09:56:17.224618+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:531:3)
2019-05-09T09:56:19.017142+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/cool" host=immense-oasis-20574.herokuapp.com request_id=b24f9916-5042-4b41-9034-e5421063b37f fwd="87.187.232.81" dyno= connect= service= status=503 bytes= protocol=https
2019-05-09T10:09:56.847796+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=immense-oasis-20574.herokuapp.com request_id=62b8f104-be58-49f5-9b45-82603b0cc1a9 fwd="87.187.232.81" dyno= connect= service= status=503 bytes= protocol=https

1 个答案:

答案 0 :(得分:0)

您必须运行npm install --save cool-ascii-faces

Heroku从您的package.json中获取软件包,而不是从node_modules文件夹中获取。实际上,您永远不要通过将其添加到.gitignore文件中来提交它。