我正在尝试从我的 Heroku 应用程序运行单个脚本。我正在尝试使用以下命令在 Heroku 服务器上运行它:
heroku run node path/to/myScript.js
当我在本地运行时,此脚本可以完美运行。但是尝试在 Heroku 上远程运行它时出现错误。
我希望看到脚本正确运行的证据,但相反,我收到以下错误。
错误:找不到模块"傀儡群集">
该依赖项位于我的包中.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"
}
},
...
到目前为止,我尝试过什么。
我试图确保我通过以下方式将所有新文件正确提交到 git。
git add . git commit -m "update" git push heroku master
我根据这个 SO 答案尝试了以下命令序列。
$ heroku config:set NODE_MODULES_CACHE=false $ git commit -am 'disable_node_modules_cache' --allow-empty $ git push heroku master
我尝试从头开始重建和重新部署我的应用程序,如下所示。
heroku create my-awesome-app --buildpack heroku/nodejs
但是我得到了错误:
my-awesome-app 这个名字已经被采用
- 此页面列出了以下内容,我尝试过但没有成功。
heroku config:set NODE_MODULES_CACHE=false
接下来,你应该确保你没有意外地将模块签入 git。
最后,您应该检查以确保您的依赖项正确列在 package.json 中。
我还尝试了仔细检查以确保我没有跟踪任何 git 文件,检查以下内容,如此处的建议。
git ls-files | grep node_modules
在检查本地节点版本后,我将节点版本添加到我的 package.json 中。
node --version v12.10.0
"name": "myapp",
"description": "a really cool app",
"version": "0.1.0",
"engines": {
"node": "12.10.0"
},
- 我还查看了此位置的信息。
我做错了什么?接下来我应该尝试什么?
以下内容适用于我的情况。
我在本地重新安装了所有依赖项。
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
然后重新部署到希罗库。
git add .
git commit -m "update"
git push heroku master
感谢这个 SO 答案。