Nodemon: ゚ラヌ「゚ラヌENOSPCを監芖」

䜜成日 2013幎10月20日  Â·  56コメント  Â·  ゜ヌス: remy/nodemon

20 Oct 16:40:37 - [nodemon] v0.7.10
20 Oct 16:40:37 - [nodemon] to restart at any time, enter `rs`
20 Oct 16:40:37 - [nodemon] watching: /my/proyect/server
20 Oct 16:40:37 - [nodemon] exception in nodemon killing node
Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at Object.watchFileChecker.check (/usr/lib/node_modules/nodemon/nodemon.js:160:6)
    at ready (/usr/lib/node_modules/nodemon/nodemon.js:49:22)
    at /usr/lib/node_modules/nodemon/nodemon.js:63:11
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)
20 Oct 16:40:37 - [nodemon] reading ignore list
20 Oct 16:40:37 - [nodemon] exception in nodemon killing node
Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at fs.watch (fs.js:1076:11)
    at checkTimer (/usr/lib/node_modules/nodemon/nodemon.js:467:27)
    at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)

最も参考になるコメント

システムには、ナヌザヌが監芖できるファむルの数に制限がありたす。 Dropboxなどの他のプログラムでGruntを実行しおいる堎合は、時蚈がすぐになくなる可胜性がありたす。

投皿は、利甚可胜な時蚈の数を増やすためにこれを実行するこずを提案しおいたす。

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

党おのコメント56件

ノヌドのバヌゞョン

たた、テストに䜿甚しおいる簡単なテストケヌススクリプトを提䟛できたすか。

ノヌド0.10.21を䜿甚したす。 どのスクリプトでも、゚ラヌが発生したす。

これは144ず同じ問題ですか これをMacで耇補するこずはできたせんただし、䜿甚しおいるOSは尋ねたせんでしたが、䞊蚘の貌り付けのパスに基づいお* nixタむプを想定したした。

同じではありたせんが、ここで異なるのは単䞀のプロセスを実行しおいるこずです。 耇数のプロセスでのその他の実行では、クラりド以倖

今日、耇数のアプリexpress、restifyでこの゚ラヌが発生したした。

NodeJSv0.10.21
ElementaryOSバヌゞョン0.2 "Luna"64ビット
構築Ubuntu 12.04 "Precise"
カヌネル3.5.0-43-ゞェネリック

11 Nov 17:32:38 - [nodemon] v0.7.10
11 Nov 17:32:38 - [nodemon] to restart at any time, enter `rs`
...
11 Nov 17:32:38 - [nodemon] exception in nodemon killing node
Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at Object.watchFileChecker.check (/home/.../node_modules/nodemon/nodemon.js:160:6)
    at ready (/home/.../node_modules/nodemon/nodemon.js:49:22)
    at /home/.../node_modules/nodemon/nodemon.js:63:11
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)

再珟

npm install nodemon
./node_modules/.bin/nodemon app.js

app.jshttp://nodejs.org/から

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

CoffeeScriptでも同じ゚ラヌが発生したした--watch ./node_modules/.bin/coffee --watch app/

/home/.../node_modules/coffee-script/lib/coffee-script/command.js:334
        throw e;
              ^
Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at watchDir (/home/.../node_modules/coffee-script/lib/coffee-script/command.js:299:27)
    at /home/.../node_modules/coffee-script/lib/coffee-script/command.js:102:11
    at Object.oncomplete (fs.js:107:15)

ノヌド0.10.21のUbuntu13.10でcoffeescriptを䜿甚するcompound.jsプロゞェクトでも同じ゚ラヌが発生したした

$ nodemon server.coffee

27 Nov 21:40:14 - [nodemon] v0.7.10
27 Nov 21:40:14 - [nodemon] to restart at any time, enter `rs`
27 Nov 21:40:14 - [nodemon] watching: /home/chok/work/edf/bluetic/src
27 Nov 21:40:14 - [nodemon] exception in nodemon killing node
Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at Object.watchFileChecker.check (/usr/local/lib/node_modules/nodemon/nodemon.js:160:6)
    at ready (/usr/local/lib/node_modules/nodemon/nodemon.js:49:22)
    at /usr/local/lib/node_modules/nodemon/nodemon.js:63:11
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)

誰かがnodemonの開発バヌゞョンでこれを詊しおみるこずができたすか 私は倚くの倉曎を加え、新しいバヌゞョンでこれらすべおの問題が解決されるように努力を集䞭しようずしおいたす。

npm install -g nodemon@devを䜿甚しおむンストヌルできたす

私のために働くのはなぜかわからない。 最新の安定したnodemonnpmバヌゞョンを䜿甚したす。 たた、coffeescript --watchでも同じ問題が発生したしたが、これも機胜するようになりたした。 ノヌドの曎新はありたせん。npmむンストヌルモゞュヌルずディストリビュヌションの曎新のみです。

同じ゚ラヌが発生したしたが、プロセスが停止したした

$ nodemon server.coffee 
3 Dec 15:32:42 - [nodemon] v0.9.10
[nodemon] exception in nodemon killing node
[nodemon] Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at Function.check (/usr/local/lib/node_modules/nodemon/lib/config/watchable.js:34:6)
    at alternativeCheck (/usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:18:15)
    at /usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:36:11
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)

@chokは、

find . | wc

私は実際にこの問題を匕き起こしおいるものを理解しようずしおいたす。

結果は次のずおりです。

$ find . | wc
   7677    7677  542965

さお、それは時蚈をバむンドしようずしおいる7600ファむルです。

treeを実行しお、結果をhttp://pastie.org/に入れるこずはできたすか倧芏暡になるためのみ。

パスティはそれが倧きすぎる64kb以䞊ず蚀った、そしお結局私は䞀番䞋のテキストが奜きではないpあなたのペヌストはすべお私たちのものです。 プロゞェクトに固有のパヌツをいく぀か削陀したした。 ちなみに、ほずんどのファむルはもちろんnode_modulesにありたす。

あなたは芁点でそれを芋぀けるこずができたす https 

さお、これは監芖されおいるファむルの数に完党に関連しおいる問題だず思いたす個々のファむルにバむンドする必芁があるため。 デフォルトでnode_modulesず.gitディレクトリを無芖するこずを考えおいたしたが、ignoreコマンドでそれを詊しおみるこずができたすただ0.9.xを実行しおいるず仮定したす。

nodemon -i node_modules

もちろん、これを毎回行う必芁はありたせん。これが問題であるこずを確認しようずしおいたす。

それは動䜜したせん:(

$ nodemon -i node_modules/ server.coffee 
3 Dec 20:52:32 - [nodemon] v0.9.10
[nodemon] exception in nodemon killing node
[nodemon] Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at Function.check (/usr/local/lib/node_modules/nodemon/lib/config/watchable.js:34:6)
    at alternativeCheck (/usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:18:15)
    at /usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:36:11
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)

私も詊しおみたす

$ nodemon -w app/* server.coffee 
3 Dec 20:53:32 - [nodemon] v0.9.10
[nodemon] exception in nodemon killing node
[nodemon] Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at Function.check (/usr/local/lib/node_modules/nodemon/lib/config/watchable.js:34:6)
    at alternativeCheck (/usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:18:15)
    at /usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:36:11
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)

たったく同じコマンドを実行できたすが、 --dumpを远加しお、応答を送信しおください無芖バヌゞョンを実行しおいる堎合。

倉曎はありたせん

$ nodemon -i node_modules/ server.coffee  --dump
3 Dec 21:17:18 - [nodemon] v0.9.10
[nodemon] exception in nodemon killing node
[nodemon] Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at Function.check (/usr/local/lib/node_modules/nodemon/lib/config/watchable.js:34:6)
    at alternativeCheck (/usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:18:15)
    at /usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:36:11
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)

うヌん、申し蚳ありたせんが、スクリプトの前に--dumpを貌り付けおもらえたすか蚭定のダンプが衚瀺されるはずです。

私はすでに䞡方を詊したした:(

$ nodemon -i node_modules/ --dump server.coffee 
3 Dec 21:25:35 - [nodemon] v0.9.10
[nodemon] exception in nodemon killing node
[nodemon] Error: watch ENOSPC
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at Function.check (/usr/local/lib/node_modules/nodemon/lib/config/watchable.js:34:6)
    at alternativeCheck (/usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:18:15)
    at /usr/local/lib/node_modules/nodemon/lib/config/checkWatchSupport.js:36:11
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)

やあ。 鈍感に聞こえたくないのですが、この゚ラヌが発生したずきに、システムのmax_user_watchesを増やすこずで修正したした。 私はこのスレッドを芋お、䜕か他のこずが起こっおいるかどうかを確認しおきたした。

@taylorjbrennanええ、@ chokは䞀貫しお耇補できたすが、ナヌザヌがmax_user_watches ioマゞックを実行しなくおもnodemonを修正する倉曎を行っおいたす。

@remy玠晎らしい、私はそれを芋るのを楜しみにしおいたす。

@chokあなたは再びこれを詊すこずができたす[email protected] -時蚈の数が倧幅に䜎くする必芁がありたすのでnodemon今これはただ問題であるならば、私は再び開きたす、デフォルトでは.gitずnode_modules / ** / node_modulesを無芖したす。

私はたた、怜出しようずする぀もりだwatch ENOSPC゚ラヌをしお増加に぀いおのメッセヌゞアりト゚コヌmax_user_watches 。 理想的ではありたせんが、私が本圓にできるこずはこれ以䞊ありたせん。

私はもうこのメッセヌゞを持っおいたせん:)しかし今私は245で説明されおいる問題を抱えおいたす

私はちょうどこの問題を抱えおいたした、そしおそれはシステム䞊で開いおいるファむルが倚すぎるずいう問題でした。 Sublime Textは、蚱可するずたくさんのファむルを開くのが倧奜きです

Sublime 2で倚くのファむルを含むディレクトリを開くずすぐに、nodemonは機胜しなくなり、参照されおいる゚ラヌを吐き出したす。 Sublimesの「フォルダを開く」機胜を䜿甚しないこずでしか回避できたせんでした。 ヒント@ eyce9000をありがずう。

@timtipsはsublimetext3および

@baioはそれを再確認できたすか。 [email protected]はありたせ

圌はこのバグを閉じるこずができたすか nodemonずnodejsの新しいバヌゞョンずしお、この問題は解決されたしたが、これが完党に解決されたずは蚀えたせん。 もはや頻繁には発生しおいないず蚀えたす。

@alejonextはnpm install -g nodemon@dev詊すこずができたす-1.2.1にはないかなりの数の倉曎を加えたした。

゚ラヌは実際には「ErrorNOdisk SPaCe」を意味したすが、監芖されおいるファむルの数に関連しおいるず思いたす。監芖コヌドを倉曎するこずで、ファむル数を枛らす必芁がありたす...

@remy䜜品は完璧です:)あなたの仕事に感謝したす!!!!

甘い。 今週は1.3.0からnpmの安定リリヌスがあり、バグ修正もたくさんありたす。

@remyは応答時間に驚いおいたした。 ありがずう

@remy
nodemonkillingノヌドの䟋倖
゚ラヌENOSPCを芋る
errnoExceptionでfs.js103011
FSWatcher.startfs.js106211で
Object.fs.watchfs.js108711で

ノヌドv0.10.33
OSLinux ubuntu

このコマンドでこれを修正したしたhttps://github.com/ember-cli/ember-cli/issues/1240#issuecomment-47855317

しかし、パッケヌゞを曎新するこずをお勧めしたすか

そもそもなぜこんな感じになったのかしら。 私はノヌドバヌゞョンマネヌゞャヌを䜿甚しおいたす
ノヌド0.12.0
npm 2.7.0
残り火0.2.0

@ahnbizcad
倚分のため
https://github.com/joyent/node/wiki/API-changes-between-v0.10-and-v0.12#resource -management

システムには、ナヌザヌが監芖できるファむルの数に制限がありたす。 Dropboxなどの他のプログラムでGruntを実行しおいる堎合は、時蚈がすぐになくなる可胜性がありたす。

投皿は、利甚可胜な時蚈の数を増やすためにこれを実行するこずを提案しおいたす。

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

"nodemon": "^1.4.1"ず"node": "0.12.7"でこの問題が発生しおいたすがっかりしたした

625でお詊しください

火の䞊、2015幎9月8日午埌04時20りェスリヌ・ケむロスの[email protected]は曞きたした

「nodemon」「^ 1.4.1」および「node」「0.12.7」でこの問題が発生しおいたす[画像
残念だった]

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/remy/nodemon/issues/214#issuecomment-138598438 。

alpha詊したしたが、それでもENOSPC取埗しおいたす...
私のsysctl.confはfs.inotify.max_user_watches=10000たす。
524288に倉曎するず機胜したすが、「dev-server」では倉曎できたせん。

いく぀のファむルを芋ようずしおいたすか ぀たり、あなたの䞋にいく぀ありたすか
䜜業ディレクトリ

17時37りェズリヌケむロスのでは火、2015幎9月8日に[email protected]曞きたした

アルファで詊したしたが、それでもENOSPCを取埗しおいたす...
私のsysctl.confにはfs.inotify.max_user_watches = 10000がありたす。
524288に倉曎するず動䜜したすが、「dev-server」ではできたせん
それを倉曎したす。

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/remy/nodemon/issues/214#issuecomment-138624285 。

倚くはなく、最倧30個です。
しかし、nodemonはプロゞェクトのルヌトでnode_modulesを監芖しようずしおいるず思いたす。
以䞋はnodemonに枡される構成です私はそれをノヌドモゞュヌルずしお䜿甚しおいたす

nodemon({
    script: 'server/server.js',
    watch: [
        'server/',
        'common/'
    ],
    ext: 'js json coffee'
});

サヌバヌフォルダには次のものがありたす。
7぀のコヌヒヌファむル
5぀のjsonファむル
共通フォルダヌには1぀のjsonファむルしかありたせん...

ええ...だからfind . | wc -lを実行し、その数はあなたに䜕を䞎えたすか デフォルトではnode_modulesを無芖するこずになっおいたすが、考慮されおいない可胜性がありたす。

実行find . | wc -lプロゞェクトのルヌトには、私に䞎え18266私は削陀したずきにnode_modulesずbower_componentsだけ䞎え320 。

さお、時蚈にはnode_modules含たれおいるず思いたす。これは625リファクタリングの䞀郚であり、修正する必芁がありたす。

@wesleycoderは、最新のnodemon@dev バヌゞョン1.5.0-alpha4である必芁がありたすで詊しお、 DEBUG=nodemon <your normal nodemon command>実行し、完党な出力を貌り付けるこずができたす。

うわあ
できたす
゚ラヌなし
ありがずう

これは、ナヌザヌがファむルを監芖できる範囲倖のシステムが原因である可胜性がありたす。 あなたはubuntuで次のコマンドラむンを䜿甚するこずができたす
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
たたは詊しおみおください
npm dedupe

このstackoverflowぞの参照

@ankibalyan @uttampanara

できたす 
゚コヌfs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

私にも効きたす
゚コヌfs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

こっちも䞀緒  +1
゚コヌfs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

このコマンドを実行したす

echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

別の可胜な解決策は、ルヌトフォルダヌにnodemon.json構成ファむルを远加し、無芖パタヌンを指定するこずです。次に䟋を瀺したす。
nodemon.json

{
  "ignore": [
    "*.test.js", 
    "dist/*"
  ]
}
  • デフォルトでは、 .git 、 node_modules 、 bower_components 、 .nyc_output 、 coverage 、 .sass-cacheは無芖されるため、それらを構成に远加する必芁はありたせん。

fsnotifyトリックはdockerコンテナでは機胜しないようです...少なくずもAlpine3.8では、同じENOSPC゚ラヌが発生したす。 ツヌルが非掚奚になり、レガシヌ補品を維持する必芁があるため、これはたすたす重芁になっおいたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡