node.js - Heroku 应用程序因缺少 'request-promise' 模块而崩溃

标签 node.js heroku npm crash dependencies

我是 MERN 堆栈内容(以及一般编程)的新手。我正在使用 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]: }

我尝试使用npm install requestnpm install request-promisenpm init“重建”我的package.json并推送到我的 github 存储库,然后将其部署到 heroku,但我得到了相同的错误。

这是我的 server.js 的顶部:

var express = require('express');
var bodyParser = require('body-parser');
var passport = require('passport');
var authJwtController = require('./auth_jwt');
var User = require('./Users');
var Movie = require('./Movies');
var Review = require('./Reviews');
var jwt = require('jsonwebtoken');
var cors = require('cors');
var mongoose = require('mongoose');
const crypto = require("crypto");
var rp = require('request-promise');

这是我的 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-promisenpm install request-promise -s,这样它将把request-promise保存在你的package.json中。然后尝试部署

关于node.js - Heroku 应用程序因缺少 'request-promise' 模块而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61313869/

相关文章:

node.js - 函数中的函数返回值

node.js - Mongodb atlas + node.js 在本地工作,但在推送到 Heroku 时停止

ruby-on-rails - 如何从 SQLite 迁移到 PostgreSQL (Rails)

json - 获取 package.json 文件中另一个字段的值(npm)

node.js - 无法通过 npm 安装依赖于 node-gyp 的包

c - NodeJS-C 接口(interface)

node.js - 能够使用 Polymer 3 解析模块,但不能使用 Lit Element

node.js - 无法使用 Cli 安装 Angular2 应用程序

ruby-on-rails - Ruby on Rails - 无法加载 postgres 适配器

google-chrome-extension - 是否可以在 chrome 扩展中需要 npm 模块?