我不知道发生了什么,但突然我的Nodemon开始显示错误。
nikhil@nikhil-Lenovo-Z50-70:~/Desktop/dominos$ nodemon server.js
[nodemon] 1.12.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server.js`
[nodemon] Internal watch failed: watch /home/nikhil/Desktop/dominos
ENOSPC
即便如此,我的程序运行正常。但是,当我关闭此project1并在同一端口上运行另一个project2时,会发生此错误
Error: listen EADDRINUSE :::3000
at Object.exports._errnoException (util.js:1024:11)
at exports._exceptionWithHostPort (util.js:1047:20)
at Server.setupListenHandle [as _listen2] (net.js:1319:14)
at listenInCluster (net.js:1367:12)
at Server.listen (net.js:1467:7)
at Object.<anonymous> (/home/nikhil/Desktop/dominos/server.js:533:8)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Function.Module.runMain (module.js:605:10)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:575:3
然后我的旧项目1将保持打开状态,直到我手动终止进程才能启动新的project2。
知道为什么会这样吗?
答案 0 :(得分:6)
假设您使用的是linux,问题可能是您有太多开放观察者。 运行此命令:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
再试一次。
信用:this answer。
答案 1 :(得分:1)
发生此问题是因为已经有另一个进程或终端使用您的相同端口
使用以下命令杀死所有节点
killall node
使用以下命令启动nodemon
nodemon server.js
答案 2 :(得分:0)
我有同样的错误。节点工作,但不是 nodemon。我所做的只是:
npm install -g nodemon
它奏效了?