在Render.com部署后端服务时遇nodemon: permission denied错误求助
解决Render.com部署时「nodemon: permission denied」错误
核心原因
Render的生产环境中,nodemon作为开发热重载工具,要么存在全局执行权限限制,要么生产环境本身不需要这类工具,直接用node启动更合理。
解决方案
方案1:替换为生产环境启动方式(推荐)
修改package.json的scripts部分,将start脚本改为直接用node启动应用,同时保留dev脚本用于本地开发:
{ "name": "backend", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "start": "node app.js", "dev": "nodemon app.js" }, "author": "", "license": "ISC", "dependencies": { "cors": "^2.8.5", "dotenv": "^16.0.3", "express": "^4.18.2", "mongoose": "^7.0.3", "nodemon": "^2.0.22" } }
生产环境不需要热重载,直接用node启动更稳定,彻底规避nodemon的权限问题。
方案2:强制使用本地nodemon(不推荐生产环境)
如果坚持要在Render使用nodemon,通过npx调用本地安装的依赖包,避免全局权限问题:
"scripts": { "start": "npx nodemon app.js" }
方案3:手动设置执行权限(备用)
在Render的Build Command中添加权限配置,确保nodemon可执行:
npm install && chmod +x node_modules/.bin/nodemon
此方法仅作为前两种方案失效时的备选。
内容的提问来源于stack exchange,提问作者Aathil
相关产品推荐
相关产品推荐

