运行nodemon app.js遇命令未找到及MongoDB连接超时问题求助
问题解决指南
问题1:执行nodemon app.js提示nodemon: command not found
原因
仅在项目本地安装了nodemon,系统全局环境变量中无nodemon的执行路径,直接调用nodemon命令时系统无法找到对应程序。
解决方法
推荐方案:使用npm脚本启动
你的package.json已配置start脚本,直接运行:npm startnpm会自动识别并调用项目本地安装的nodemon。
备选方案:全局安装nodemon
若习惯直接使用nodemon命令,执行全局安装:npm install -g nodemon注意:全局安装可能引发不同项目间的版本兼容问题,优先推荐使用项目本地依赖。
问题2:npx nodemon app.js时MongoDB连接超时,报错MongooseServerSelectionError: connect ECONNREFUSED ::1:27017,但node app.js正常运行
原因
npx启动nodemon时,可能触发Node.js的IPv6优先解析规则,而你的MongoDB默认仅监听IPv4的127.0.0.1地址,未开启IPv6的::1地址监听,导致连接失败;直接用node命令时则默认使用IPv4连接,因此正常。
解决方法
修改MongoDB连接字符串,强制指定IPv4地址:
// 将原连接地址中的localhost替换为127.0.0.1 mongoose.connect("mongodb://127.0.0.1:27017/userDB");
此操作会让Mongoose直接连接IPv4本地地址,避开IPv6解析冲突。
内容的提问来源于stack exchange,提问作者Abhishek gaikwad
相关产品推荐
相关产品推荐

