新搭建的Express项目全局安装nodemon后运行无响应如何解决?
nodemon无输出卡死问题排查方向
- 先检查全局nodemon的路径是否在系统环境变量中,执行
which nodemon查看返回路径是否正常,若返回空说明全局安装实际未成功写入环境变量,需要重新配置node全局包的PATH - 排查权限问题,使用sudo安装的nodemon,普通用户执行时可能没有读取nodemon全局安装目录的权限,尝试执行
sudo nodemon server.js测试,如果可以正常运行,说明是全局包权限配置错误,需要修正node全局安装目录的所有者为当前用户,避免每次用sudo执行 - 检查server.js的启动逻辑是否有同步阻塞代码,或者端口占用冲突,先直接用
node server.js确认是否可以正常输出启动日志、服务正常运行,排除业务代码本身的问题 - 查看nodemon的版本兼容性,执行
nodemon -v查看版本,部分新版本nodemon和旧版node/express存在兼容问题,可以尝试降级到稳定版本测试 - 排查是否是文件监听权限问题,nodemon默认会监听项目目录下的所有文件改动,若项目目录挂载在外部存储、或者当前用户没有目录的读取权限,会导致nodemon卡死无输出,可以尝试添加nodemon配置文件,指定要监听的目录范围,排除不需要的大文件目录比如node_modules
- 检查系统是否有安全软件、防火墙拦截了nodemon的进程通信,部分系统安全策略会阻止node进程的文件监听行为,可以临时关闭相关安全策略测试
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

