我是 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 request
、npm install request-promise
和npm 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-promise
或npm install request-promise -s
,这样它将把request-promise保存在你的package.json中。然后尝试部署
关于node.js - Heroku 应用程序因缺少 'request-promise' 模块而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61313869/