繁体   English   中英

如何解决 Heroku 错误:找不到模块“puppeteer-cluster”?

[英]How to resolve Heroku error: Cannot find module 'puppeteer-cluster'?

我正在尝试从 Heroku 应用程序运行单个脚本。 我正在尝试使用以下命令在 Heroku 服务器上运行它:

heroku run node path/to/myScript.js

当我在本地运行该脚本时,它可以完美运行。 但是当我尝试在 Heroku 上远程运行它时出现错误。

我希望看到脚本正确运行的证据,但我收到以下错误。

错误:找不到模块“puppeteer-cluster”

该依赖项位于我的 package.json 中

包.json
 "dependencies": { ... "puppeteer-cluster": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/puppeteer-cluster/-/puppeteer-cluster-0.18.0.tgz", "integrity": "sha512-xxxxxxxx+xxxxxxxxxxxxxxxxxxxxx==", "requires": { "debug": "^4.1.1" } }, ...

到目前为止我尝试过的。

  1. 我试图确保我使用以下内容正确地将所有新文件提交给 git。

     git add . git commit -m "update" git push heroku master
  2. 根据这个 SO answer尝试了以下命令序列。

     $ heroku config:set NODE_MODULES_CACHE=false $ git commit -am 'disable_node_modules_cache' --allow-empty $ git push heroku master
  3. 我尝试从头开始重建和重新部署我的应用程序,如下所示。

     heroku create my-awesome-app --buildpack heroku/nodejs

但我得到了错误:

名称 my-awesome-app 已被采用

  1. 此页面列出了以下内容,我尝试过但没有成功。

heroku config:set NODE_MODULES_CACHE=false
接下来,您应该确保不会意外地将模块检入 git。
最后,您应该检查以确保您的依赖项在 package.json 中正确列出。

  1. 我还尝试了双重检查以确保我没有跟踪任何 git 文件,按照此处的建议检查以下内容。

     git ls-files | grep node_modules
  2. 在检查了我本地的节点版本后,我在 package.json 中添加了一个节点版本。

     node --version v12.10.0
包.json
 "name": "myapp", "description": "a really cool app", "version": "0.1.0", "engines": { "node": "12.10.0" },
  1. 我还查看了此位置的信息。

我究竟做错了什么? 接下来我应该尝试什么?

以下内容适用于我的情况。

我在本地重新安装了所有依赖项。

  rm -rf node_modules
  # <manually remove node_modules>
  # <manually remove package-lock.json>
  npm cache clean --force # `npm cache clean` is obsolete
  npm cache verify
  npm install

然后重新部署到 Heroku。

  git add .
  git commit -m "update"
  git push heroku master

归功于这个 SO 答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM