Nodemon: خطأ "خطأ: مشاهدة ENOSPC"

تم إنشاؤها على ٢٠ أكتوبر ٢٠١٣  ·  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)

التعليق الأكثر فائدة

يحتوي النظام على حد لعدد الملفات التي يمكن للمستخدم مشاهدتها. يمكنك نفاد الساعات بسرعة كبيرة إذا كان لديك Grunt تعمل مع برامج أخرى مثل Dropbox.

يقترح المنشور تشغيل هذا لزيادة عدد الساعات المتاحة.

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

ال 56 كومينتر

نسخة من العقدة؟

أيضًا ، هل يمكنك تقديم نص برمجي بسيط لحالة الاختبار تستخدمه (للاختبار باستخدامه).

استخدم العقدة 0.10.21. مع أي برنامج نصي ، يولد خطأ.

هل هذه نفس مشكلة # 144؟ لا يمكنني تكرار هذا على جهاز Mac الخاص بي (على الرغم من أنني لم أسأل عن نظام التشغيل لديك ، لكنني افترضت نوع * nix استنادًا إلى المسار الموجود في اللصق أعلاه).

ليس نفس الشيء ، هنا يتم تشغيل عملية واحدة مختلفة. في الآخر يعمل على معالجات متعددة ، غير سحابية

واجهت هذا الخطأ اليوم مع تطبيقات متعددة (صريح ، أعد التحقق).

NodeJS: v0.10.21
إصدار ElementaryOS: 0.2 "Luna" (64 بت)
بنيت على: Ubuntu 12.04 ("دقيق")
نواة 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)

لقد حصلت على نفس الخطأ في مشروع composite.js باستخدام coffeescript على Ubuntu 13.10 مع العقدة 0.10.21

$ 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

يعمل بالنسبة لي الآن dunno لماذا. باستخدام أحدث إصدار مستقر nodemon npm. كان لديه أيضًا نفس المشكلة مع 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 ، هل يمكنك تشغيل ما يلي (ولصق النتيجة) لي في نفس الدليل الذي تقوم بتشغيل nodemon:

find . | wc

أحاول الحصول على فكرة عن سبب هذه المشكلة بالفعل.

ها هي النتيجة:

$ find . | wc
   7677    7677  542965

حسنًا ، هذه 7600 ملف تحاول ربط الساعات أيضًا.

هل يمكنك تشغيل tree ووضع النتيجة في http://pastie.org/ (فقط لأنها ستكون ضخمة).

قال Pastie إنه كبير جدًا (أكثر من 64 كيلوبايت) وبعد كل شيء لا أحب النص الموجود في الأسفل: p (كل ما تبذلونه من المعاجين تخصنا.). أزلت بعض الأجزاء الخاصة بمشاريعي. بالمناسبة ، توجد معظم الملفات ، بالطبع ، في node_modules.

يمكنك العثور عليها على موقع: https://gist.github.com/chok/7774318

حسنًا ، أعتقد أن هذه مشكلة مرتبطة تمامًا بعدد الملفات التي تتم مراقبتها (حيث يتعين عليك الارتباط بكل ملف فردي). كنت أفكر في تجاهل مجلدات 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 التكرار باستمرار ، فأنا بعد تغيير من شأنه إصلاح nodemon دون أن يحتاج المستخدم إلى القيام بالسحر max_user_watches io.

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 و nodemon v1.3.1

baio هل يمكنك التحقق من ذلك مرة أخرى. لا يوجد [email protected] - هناك إصدار ما قبل الإصدار @ 1.3.0-1 - ولكن هذا ليس قيد الإنتاج في npm (هل يمكنك أيضًا تأكيد إصدار npm الخاص بك)؟

يمكنه إغلاق هذا الخطأ؟ كإصدارات جديدة من nodemon و nodejs ، تم حل هذه المشكلة ، على الرغم من أنني لا أستطيع أن أقول أن هذا تم حله بالكامل. يمكن القول أنه لم يعد يحدث بشكل متكرر.

alejonext ، هل يمكنك تجربة npm install -g nodemon@dev - لقد أجريت بعض التغييرات غير الموجودة في 1.2.1.

الخطأ يعني في الواقع "Error NO disk SPaCe" - لكنني أعتقد أنه مرتبط بعدد الملفات التي تتم مراقبتها ، والتي يجب تقليلها عن طريق التغييرات في رمز المشاهدة ...

remy يعمل بشكل مثالي :) شكرا لعملك !!!!

حلو. سيكون هناك إصدار مستقر من 1.3.0 إلى npm على الأرجح هذا الأسبوع مع مجموعة من إصلاحات الأخطاء أيضًا.

@ ريمي مندهش من وقت الاستجابة. شكرا!

remy
استثناء في عقدة قتل nodemon
خطأ: شاهد ENOSPC
في errnoException (fs.js: 1030: 11)
في FSWatcher.start (fs.js: 1062: 11)
في Object.fs.watch (fs.js: 1087: 11)

عقدة v0.10.33
نظام التشغيل: Linux ubuntu

لقد أصلحت هذا باستخدام هذا الأمر https://github.com/ember-cli/ember-cli/issues/1240#issuecomment -47855317

ولكن هل يتم تحديث الحزمة بالطريقة الموصى بها؟

أتساءل لماذا حصل الأمر هكذا في المقام الأول. أنا أستخدم مدير إصدار العقدة مع
العقدة 0.12.0
npm 2.7.0
سبتمبر 0.2.0

تضمين التغريدة
ربما بسبب
https://github.com/joyent/node/wiki/API-changes-between-v0.10-and-v0.12#resource -management؟

يحتوي النظام على حد لعدد الملفات التي يمكن للمستخدم مشاهدتها. يمكنك نفاد الساعات بسرعة كبيرة إذا كان لديك Grunt تعمل مع برامج أخرى مثل Dropbox.

يقترح المنشور تشغيل هذا لزيادة عدد الساعات المتاحة.

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

في الثلاثاء ، 8 سبتمبر 2015 16:20 كتب Wesley Queiroz [email protected] :

أواجه هذه المشكلة مع "nodemon": "^ 1.4.1" و "node": "0.12.7" [image:
:خائب الامل:]

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/remy/nodemon/issues/214#issuecomment -138598438.

تمت المحاولة باستخدام alpha ولكن لا تزال تحصل على ENOSPC ...
لدي sysctl.conf fs.inotify.max_user_watches=10000 .
إذا قمت بتغييره إلى 524288 فإنه يعمل ، لكن في "dev-server" لن أتمكن من تغييره.

كم عدد الملفات التي تحاول مشاهدتها؟ أي كم أقل من الخاص بك
عمل اخراجي؟

في الثلاثاء ، 8 سبتمبر 2015 الساعة 17:37 ، كتب ويسلي كويروز [email protected] :

حاولت مع ألفا ولكن لا تزال تحصل على ENOSPC ...
يحتوي sysctl.conf الخاص بي على fs.inotify.max_user_watches = 10000.
إذا قمت بتغييره إلى 524288 فإنه يعمل ، ولكن في "خادم dev" الخاص بي لن أتمكن من ذلك
لتغييره.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على 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
ويحتوي المجلد المشترك على ملف json واحد فقط ...

نعم ... لذا قم بتشغيل find . | wc -l وماذا يمنحك هذا الرقم؟ على الرغم من أنه من المفترض أن يتجاهل node_modules افتراضيًا ، فمن الممكن ألا يتم أخذ ذلك في الاعتبار.

يمنحني تشغيل find . | wc -l على جذر المشروع 18266 ولكن عندما أزيل node_modules و bower_components يمنحني 320 .

حسنًا ، أعتقد أن الساعة _is_ بما في ذلك node_modules - هذا جزء من معاد البناء # 625 ويجب إصلاحه.

wesleycoder ، هل يمكنك المحاولة باستخدام أحدث nodemon@dev (يجب أن يكون الإصدار 1.5.0-alpha4 ) وتشغيله باستخدام DEBUG=nodemon <your normal nodemon command> ثم الصق الناتج بالكامل.

قف!
إنها تعمل!
لا اخطاء!
شكرا!

قد يكون هذا بسبب وصول النظام الخاص بك إلى يمكن للمستخدم مشاهدة الملفات. يمكنك استخدام سطر الأوامر التالي في أوبونتو
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
او جرب
npm dedupe

الرجوع إلى هذا المكدس

تضمين التغريدة

إنها تعمل !
صدى 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 لذلك لا لا حاجة لإضافتها إلى التكوين الخاص بك.

لا يبدو أن خدعة الإخطار fs تعمل على حاوية عامل إرساء ... على الأقل ليس Alpine 3.8 ، أحصل على نفس خطأ ENOSPC. لقد أصبح الأمر أكثر أهمية مع إهمال الأدوات وما زلنا بحاجة إلى صيانة المنتجات القديمة

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات