Javascript “希罗库”;错误:找不到模块';请求'&引用;

Javascript “希罗库”;错误:找不到模块';请求'&引用;,javascript,node.js,heroku,Javascript,Node.js,Heroku,最近我的Heroku停止工作了。每次尝试运行任何脚本(包括我编写的测试脚本)时,都会出现以下错误: internal/modules/cjs/loader.js:968 throw err; ^ Error: Cannot find module 'request' Require stack: - /app/src/util/util.js - /app/src/main.js at Function.Module._resolveFilename (internal/mod

最近我的Heroku停止工作了。每次尝试运行任何脚本(包括我编写的测试脚本)时,都会出现以下错误:

internal/modules/cjs/loader.js:968
  throw err;
  ^

Error: Cannot find module 'request'
Require stack:
- /app/src/util/util.js
- /app/src/main.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/app/src/util/util.js:3:19)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/app/src/util/util.js', '/app/src/main.js' ]
}
My
package.json

{
  "name": "lol-catalyst",
  "version": "0.0.1",
  "description": "LoL Catalyst.",
  "main": "main.js",
  "scripts": {
    "start": "node src/main.js"
  },
  "dependencies": {
    "archiver": "latest",
    "aws-sdk": "latest",
    "cheerio": "latest",
    "express": "^4.17.1",
    "html-to-text": "latest",
    "lodash": "^4.17.20",
    "request": "latest",
    "retry": "latest"
  },
  "engines": {
    "node": "12.x",
    "npm": "6.x"
  }
}
程序文件:

worker: node --optimize_for_size --max_old_space_size=460 --gc_interval=100 src/main.js bihourly
esports: node --optimize_for_size --max_old_space_size=460 --gc_interval=100 src/main.js esports
test: npm start
我尝试了heroku运行测试,但得到了相同的错误

好吧,在过去的两个月里,我没有对代码做太多修改,问题似乎是自己开始的

在过去的一个小时里,我一直在研究和测试,如果有任何帮助,我将不胜感激

另外:我已经确认在heroku和本地安装的npm和node版本完全相同

添加:我尝试将随机依赖项添加到
util.js
中,除了标准依赖项之外,其他依赖项都不起作用。例如,我将util.js更改为

const path      = require('path')
const fs        = require('fs')
const retry     = require('retry')
const request   = require('request')
...
现在它抱怨无法找到
retry
而不是
request
,但是这表明它可以找到
path
fs


另外:看起来Heroku没有安装我的依赖项。根据日志,上次成功运行脚本是在9月23日。通过检查提交历史记录,我确实在9月23日推送了一次提交,但它所改变的只是js文件中的一行。这似乎是最近引入的一个Heroku方面的问题。

您不应该使用request,它已被弃用,请参阅我了解它已被弃用,但我希望暂时继续使用它。Heroku不支持使用不推荐使用的库吗?(另外,该项目已有3年历史,因此需要花费大量时间来替换请求)我想我已经找到了问题所在。出于某种原因,Heroku没有安装我的依赖项。Heroku建议不要这样做,但在我的node_模块目录中检查解决了这个问题。
const path      = require('path')
const fs        = require('fs')
const retry     = require('retry')
const request   = require('request')
...