Node.js Heroku构建成功,但应用程序错误

Node.js Heroku构建成功,但应用程序错误,node.js,reactjs,heroku,deployment,Node.js,Reactjs,Heroku,Deployment,我正在尝试部署一个应用程序,它有一个节点后端和一个react前端。我正在使用heroku,我的代码如下。它说mongo有一个错误,我尝试重新安装我的节点模块。我没有太多与heroku的经验,所以任何输入将是伟大的。提前谢谢。 在server.js中- if (process.env.NODE_ENV === "production") { app.use(express.static("client/build")); app.get("*", (req, res) => {

我正在尝试部署一个应用程序,它有一个节点后端和一个react前端。我正在使用heroku,我的代码如下。它说mongo有一个错误,我尝试重新安装我的节点模块。我没有太多与heroku的经验,所以任何输入将是伟大的。提前谢谢。 在server.js中-

if (process.env.NODE_ENV === "production") {
  app.use(express.static("client/build"));

  app.get("*", (req, res) => {
    res.sendFile(path.resolve(__dirname, "client", "build", "index.html"));
  });
}
在package.json中-

{
  "author": "Spotify",
  "name": "web-api-auth-examples",
  "description": "Basic examples of the Spotify authorization flows through OAuth 2",
  "main": "server.js",
  "scripts": {
    "start": "node server.js",
    "client": "npm start --prefix client",
    "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
  },
  "version": "0.0.2",
  "dependencies": {
    "bcryptjs": "^2.4.3",
    "body-parser": "^1.18.3",
    "cors": "^2.8.4",
    "dateformat": "^3.0.3",
    "express": "~4.16.0",
    "jsonwebtoken": "^8.3.0",
    "multer": "^1.3.1",
    "passport": "^0.4.0",
    "passport-jwt": "^4.0.0",
    "querystring": "~0.2.0",
    "request": "~2.83.0",
    "request-promise": "^4.2.2",
    "validator": "^10.4.0"
  }
}
heroku日志-

2018-08-18T03:08:30.415893+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2018-08-18T03:08:30.415896+00:00 app[web.1]: npm ERR! errno 1
2018-08-18T03:08:30.415899+00:00 app[web.1]: npm ERR! web-api-auth-examples@0.0.2 start: `node server.js                    `
2018-08-18T03:08:30.415909+00:00 app[web.1]: npm ERR! Failed at the web-api-auth-examples@0.0.2 start sc                    ript.
2018-08-18T03:08:30.415905+00:00 app[web.1]: npm ERR!
2018-08-18T03:08:30.423862+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2018-08-18T03:08:30.423859+00:00 app[web.1]:
2018-08-18T03:08:30.415901+00:00 app[web.1]: npm ERR! Exit status 1
2018-08-18T03:08:30.415913+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is                     likely additional logging output above.
2018-08-18T03:08:30.423864+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2018-08-18T03_08_30_416Z-debug                    .log
2018-08-18T03:08:30.536987+00:00 heroku[web.1]: State changed from starting to crashed
2018-08-18T03:08:30.539851+00:00 heroku[web.1]: State changed from crashed to starting
2018-08-18T03:08:30.502667+00:00 heroku[web.1]: Process exited with status 1
2018-08-18T03:08:42.074442+00:00 heroku[web.1]: Starting process with command `npm start`
2018-08-18T03:08:45.349152+00:00 app[web.1]:
2018-08-18T03:08:45.349173+00:00 app[web.1]: > node server.js
2018-08-18T03:08:45.349171+00:00 app[web.1]: > web-api-auth-examples@0.0.2 start /app
2018-08-18T03:08:45.349174+00:00 app[web.1]:
2018-08-18T03:08:46.080144+00:00 app[web.1]: module.js:549
2018-08-18T03:08:46.080165+00:00 app[web.1]: throw err;
2018-08-18T03:08:46.080167+00:00 app[web.1]: ^
2018-08-18T03:08:46.080168+00:00 app[web.1]:
2018-08-18T03:08:46.080171+00:00 app[web.1]: Error: Cannot find module 'mongoose'
2018-08-18T03:08:46.080172+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:547:15)
2018-08-18T03:08:46.080174+00:00 app[web.1]: at Function.Module._load (module.js:474:25)

我从您的错误和给定的package.json中了解到,您正在应用程序的某个地方使用mongoose,但实际上并没有安装mongoose

安装mongoose以解决此问题

npm install -s mongoose

你需要安装mongoose npm install-s mongoose很有趣,它在你的机器上运行,同时
mongoose
没有列在你的
包中。json
是的,我想是因为它是在我的机器上下载的,但没有列在package.json中,所以heroku不知道安装它@埃德温·哈莱坦克斯!这修复了应用程序错误。这很奇怪,因为当我在本地运行它时,它工作正常,我猜这是因为mongoose在我的机器上,但heroku不知道如何安装它。无论如何,谢谢你的帮助。干杯:)如果它解决了你的问题,请投票并接受。