Node.js Heroku构建成功,但应用程序错误
我正在尝试部署一个应用程序,它有一个节点后端和一个react前端。我正在使用heroku,我的代码如下。它说mongo有一个错误,我尝试重新安装我的节点模块。我没有太多与heroku的经验,所以任何输入将是伟大的。提前谢谢。 在server.js中-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) => {
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不知道如何安装它。无论如何,谢谢你的帮助。干杯:)如果它解决了你的问题,请投票并接受。