node.js - nodemon:在heroku上部署时权限被拒绝
问题描述
使用 Heroku 部署时,我的日志中出现以下错误,我该怎么办?
我的procfile
:
web: node bin/www
我的package.json
:
{
"name": "express-generator",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "./node_modules/.bin/nodemon.cmd ./bin/www"
},
"dependencies": {
"config": "^3.3.1",
"cookie-parser": "~1.4.4",
"cors": "^2.8.5",
"debug": "~2.6.9",
"express": "~4.16.1",
"http-errors": "~1.6.3",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.9.29",
"morgan": "~1.9.1",
"passport": "^0.4.1",
"passport-jwt": "^4.0.0",
"passport-local": "^1.0.0",
"passport-local-mongoose": "^6.0.1",
"pug": "^3.0.0"
},
"devDependencies": {
"nodemon": "^2.0.4"
}
}
解决方案
您不应该在“生产”中使用 nodemon,而只是 node. 同样在您的package.json
nodemon 中被声明为开发依赖项,因此无论如何它都不会通过 npm 安装在您的 heroku 实例上,因为我认为npm install --production
它将由 heroku 执行,因此如果您在启动脚本中调用它,它将找不到它。
"start": "node index.js"
例如,如果 index.js 是您的入口点,则在 package.json 中编辑您的 npm 脚本“start” 。因为 heroku 默认使用启动脚本来启动你的程序。您还可以添加一个脚本“dev”供您在开发环境中使用 nodemon,
"dev": "nodemon index.js"
例如,如果 index.js 是您的入口点,那么您可以通过npm run dev
在终端中键入来使用 nodemon 启动应用程序
推荐阅读
- uno-platform - Uno Platform 应用程序对 Android 主题更改做出反应
- python - TypeError: unhashable type: 'list using Counter
- c# - 如果所有者类型是拥有它的类,而不是“字符串”,则未设置 DependencyProperty
- git - 创建后续项目,基于旧的 git 存储库,偶尔同步和保留历史记录
- c# - “生成”游戏对象的正确方法。(我想产生弹丸)
- python - colab 中的 ISR 库不工作,AttributeError: 'str' object has no attribute 'decode'
- jenkins - 如何从 failFast = true 的并行触发作业中获取结果?
- javascript - React:如何实现 Tawk 之类的东西
- powerbi - 显示预先计算的估计值和误差线
- wpf - 流文档组合框上的 VB.NET WPF 样式更改生成触发成功操作的异常?