You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Railway平台部署应用遇nodemon权限拒绝错误求助

解决Railway部署后端时nodemon权限拒绝问题

问题拆解

你碰到的sh: 1: nodemon: Permission denied核心原因有两个:一是Railway容器内nodemon的执行权限不足,二是生产环境用nodemon本身就不合理——它是开发阶段用于热重载的工具,不适合生产环境。另外npm的警告只是提示生产环境安装依赖时用--omit=dev替代旧的production配置,属于次要提示。

修复方案

方案一:调用本地nodemon路径(快速临时解决)

修改package.json的启动命令,直接使用项目node_modules目录下的nodemon可执行文件,绕开全局权限问题:

"scripts": {
  "start": "./node_modules/.bin/nodemon mongo_test.js"
}

方案二:生产环境改用node启动(推荐)

nodemon仅用于开发阶段热重载,生产环境不需要这个功能,直接用node启动更稳定,还能彻底解决权限问题:

"scripts": {
  "start": "node mongo_test.js",
  "dev": "nodemon mongo_test.js"
}

本地开发时执行npm run dev用nodemon实现热重载,Railway部署会自动执行npm start,完全适配生产环境需求。

额外必改点

你的mongoose被放在devDependencies里了,但生产环境需要连接数据库,必须把它移到dependencies下,否则部署时不会安装该依赖,会导致数据库连接失败。

验证方法

重新部署后查看Railway的日志,若不再出现权限错误,且应用能正常启动,就说明问题已解决。

内容的提问来源于stack exchange,提问作者Splatted I0I

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 19:52:38