Node.js Heroku应用程序因丢失而崩溃';请求承诺';模块

Node.js Heroku应用程序因丢失而崩溃';请求承诺';模块,node.js,heroku,npm,crash,dependencies,Node.js,Heroku,Npm,Crash,Dependencies,我对MERN stack的东西(以及一般的编程)还不熟悉。我正在使用heroku构建一个应用程序,用于分配任务,我的代理存在依赖性问题 这是heroku日志: 2020-04-20T01:16:43.000000+00:00 app[api]: Build succeeded 2020-04-20T01:16:44.447430+00:00 heroku[web.1]: State changed from crashed to starting 2020-04-20T01:16:50.1756

我对MERN stack的东西(以及一般的编程)还不熟悉。我正在使用heroku构建一个应用程序,用于分配任务,我的代理存在依赖性问题

这是heroku日志:

2020-04-20T01:16:43.000000+00:00 app[api]: Build succeeded
2020-04-20T01:16:44.447430+00:00 heroku[web.1]: State changed from crashed to starting
2020-04-20T01:16:50.175664+00:00 heroku[web.1]: State changed from starting to crashed
2020-04-20T01:16:50.087369+00:00 app[web.1]: internal/modules/cjs/loader.js:983
2020-04-20T01:16:50.087379+00:00 app[web.1]: throw err;
2020-04-20T01:16:50.087379+00:00 app[web.1]: ^
2020-04-20T01:16:50.087380+00:00 app[web.1]: 
2020-04-20T01:16:50.087380+00:00 app[web.1]: Error: Cannot find module 'request-promise'
2020-04-20T01:16:50.087380+00:00 app[web.1]: Require stack:
2020-04-20T01:16:50.087381+00:00 app[web.1]: - /app/server.js
2020-04-20T01:16:50.087382+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15)
2020-04-20T01:16:50.087382+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:862:27)
2020-04-20T01:16:50.087382+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:1042:19)
2020-04-20T01:16:50.087383+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:77:18)
2020-04-20T01:16:50.087383+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:12:10)
2020-04-20T01:16:50.087384+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1156:30)
2020-04-20T01:16:50.087384+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
2020-04-20T01:16:50.087384+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:1000:32)
2020-04-20T01:16:50.087385+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:899:14)
2020-04-20T01:16:50.087385+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
2020-04-20T01:16:50.087386+00:00 app[web.1]: at internal/main/run_main_module.js:18:47 {
2020-04-20T01:16:50.087386+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2020-04-20T01:16:50.087387+00:00 app[web.1]: requireStack: [ '/app/server.js' ]
2020-04-20T01:16:50.087387+00:00 app[web.1]: }
2020-04-20T01:21:53.525467+00:00 heroku[web.1]: State changed from crashed to starting
2020-04-20T01:21:58.716936+00:00 heroku[web.1]: State changed from starting to crashed
2020-04-20T01:21:58.650366+00:00 app[web.1]: internal/modules/cjs/loader.js:983
2020-04-20T01:21:58.650395+00:00 app[web.1]: throw err;
2020-04-20T01:21:58.650395+00:00 app[web.1]: ^
2020-04-20T01:21:58.650395+00:00 app[web.1]: 
2020-04-20T01:21:58.650396+00:00 app[web.1]: Error: Cannot find module 'request-promise'
2020-04-20T01:21:58.650396+00:00 app[web.1]: Require stack:
2020-04-20T01:21:58.650396+00:00 app[web.1]: - /app/server.js
2020-04-20T01:21:58.650397+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15)
2020-04-20T01:21:58.650397+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:862:27)
2020-04-20T01:21:58.650398+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:1042:19)
2020-04-20T01:21:58.650398+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:77:18)
2020-04-20T01:21:58.650398+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:12:10)
2020-04-20T01:21:58.650399+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1156:30)
2020-04-20T01:21:58.650399+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
2020-04-20T01:21:58.650438+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:1000:32)
2020-04-20T01:21:58.650439+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:899:14)
2020-04-20T01:21:58.650440+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
2020-04-20T01:21:58.650441+00:00 app[web.1]: at internal/main/run_main_module.js:18:47 {
2020-04-20T01:21:58.650441+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2020-04-20T01:21:58.650441+00:00 app[web.1]: requireStack: [ '/app/server.js' ]
2020-04-20T01:21:58.650441+00:00 app[web.1]: }
这是我的package.json

{
  "name": "hw4removedforprivacy",
  "version": "1.0.0",
  "description": "week7a",
  "main": "server.js",
  "scripts": {
    "test": "mocha --timeout 10000 --exit",
    "start": "node server.js"
  },
  "author": "removedforprovacy",
  "license": "ISC",
  "dependencies": {
    "bcrypt-nodejs": "0.0.3",
    "body-parser": "^1.18.2",
    "cors": "^2.8.5",
    "express": "^4.16.2",
    "jsonwebtoken": "^8.1.1",
    "mongoose": "^5.0.9",
    "passport": "^0.4.0",
    "passport-http": "^0.3.0",
    "passport-jwt": "^3.0.1",
    "request": "^2.88.2"
  },
  "devDependencies": {
    "chai": "^4.2.0",
    "chai-http": "^4.2.0",
    "dotenv": "^6.2.0",
    "mocha": "^5.2.0",
    "request-promise": "^4.2.5",
    "sinon": "^7.2.2",
    "sinon-mongoose": "^2.2.1"
  },
  "directories": {
    "test": "test"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/blahblaghblaghremovedforprivacy"
  },
  "bugs": {
    "url": "https://github.com/blahblaghblaghremovedforprivacy"
  },
  "homepage": "https://github.com/blahblaghblaghremovedforprivacy"
}

我不知道该怎么办。。。我很困惑为什么server.js在本地运行,而不是在heroku上运行。感谢您的高级支持。

请尝试
npm i request promise
npm install request promise-s
以便将request promise保存在您的package.json中。然后尝试部署

你离得很近;但似乎你在devDependencies中意外地留下了你的请求承诺。请求承诺应该在依赖项中,因为它是应用程序工作所需的包为了澄清,devDependencies下的包将在部署前删除

Bahram是对的,您需要执行
npm安装请求承诺
。您可能做了
npm安装请求承诺--save dev
,因此,它将其保存在您的devdependency下


最好将依赖项和依赖项分开。您可能会发现这个Heroku文档很有帮助=>

谢谢您的回答。我通过将package.json中的依赖项从devdependency移动到依赖项来修复它。我不知道在package.json中移动东西是否是一种好的做法,但它确实起了作用。。
{
  "name": "hw4removedforprivacy",
  "version": "1.0.0",
  "description": "week7a",
  "main": "server.js",
  "scripts": {
    "test": "mocha --timeout 10000 --exit",
    "start": "node server.js"
  },
  "author": "removedforprovacy",
  "license": "ISC",
  "dependencies": {
    "bcrypt-nodejs": "0.0.3",
    "body-parser": "^1.18.2",
    "cors": "^2.8.5",
    "express": "^4.16.2",
    "jsonwebtoken": "^8.1.1",
    "mongoose": "^5.0.9",
    "passport": "^0.4.0",
    "passport-http": "^0.3.0",
    "passport-jwt": "^3.0.1",
    "request": "^2.88.2"
  },
  "devDependencies": {
    "chai": "^4.2.0",
    "chai-http": "^4.2.0",
    "dotenv": "^6.2.0",
    "mocha": "^5.2.0",
    "request-promise": "^4.2.5",
    "sinon": "^7.2.2",
    "sinon-mongoose": "^2.2.1"
  },
  "directories": {
    "test": "test"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/blahblaghblaghremovedforprivacy"
  },
  "bugs": {
    "url": "https://github.com/blahblaghblaghremovedforprivacy"
  },
  "homepage": "https://github.com/blahblaghblaghremovedforprivacy"
}