Jest: خطأ: خطأ في مشاهدة ملف التغييرات: EMFILE

تم إنشاؤها على ٢ مايو ٢٠١٧  ·  22تعليقات  ·  مصدر: facebook/jest

أعلم أن آخرين نشروا هذه المشكلة ، ولكن يبدو أنهم يتقدمون في السن ويستخدمون الإصدارات القديمة. لقد جربت كل شيء من القضايا الأخرى.

هذا هو الخطأ الذي أحصل عليه:

$ jest --watch # or with $ jest --watch --no-watchman
2017-05-02 09:49 node[8980] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-05-02 09:49 node[8980] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-05-02 09:49 node[8980] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
events.js:163
      throw er; // Unhandled 'error' event
      ^

Error: Error watching file for changes: EMFILE
    at exports._errnoException (util.js:1050:11)
    at FSEvent.FSWatcher._handle.onchange (fs.js:1376:11)
error Command failed with exit code 1.

الإصدارات:

  • العقدة: v7.9.0
  • دعابة: 19.0.2
  • الحارس: 4.7.0 (مثبت عبر الشراب)
  • ماك: سييرا 10.12.4 (16E195)

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

عمل لي brew install watchman .

ال 22 كومينتر

توجد هذه المشكلة في الإصدارات التالية

  • 19.0.2
  • 19.0.1
  • 19.0.0

إنه يعمل في

  • 18.1.0

هل يحدث في الإصدار 20؟

نعم ، الخطأ موجود في v20.0.0 .

2017-05-08 05:30 node[6062] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-05-08 05:30 node[6062] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-05-08 05:30 node[6062] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
events.js:163
      throw er; // Unhandled 'error' event
      ^

Error: Error watching file for changes: EMFILE
    at exports._errnoException (util.js:1050:11)
    at FSEvent.FSWatcher._handle.onchange (fs.js:1376:11)
error Command failed with exit code 1.

وهل جربته مع الحارس ( brew install watchman

نعم

أي فرصة لتوبيخ؟ من الصعب التصحيح بدونها :(

عمل لي brew install watchman .

نفس الشيء هنا ، لم يعمل مع jest --watch أو jest --watch --no-watchman (لم يتم تثبيت الحارس):

2017-05-28 18:57 node[17087] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-05-28 18:57 node[17087] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-05-28 18:57 node[17087] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
events.js:163
      throw er; // Unhandled 'error' event
      ^

Error: Error watching file for changes: EMFILE
    at exports._errnoException (util.js:1050:11)
    at FSEvent.FSWatcher._handle.onchange (fs.js:1374:11)

لقد قمت بتثبيت الحارس باستخدام الشراب ، ويعمل الآن jest --watch . لا يزال فشل jest --watch --no-watchman .

جيست v20.0.4
عقدة v7.10.0
نظام التشغيل MacOS 10.12.5

أحصل على خطأ مشابه عندما أقوم بتثبيت "pact" ثم حاولت تشغيل اختبار npm. أنا أستخدم تطبيق create-response-app لإعداد مشروعي واستخدام العقدة v7.9.0

تم إصلاح هذا الخطأ بواسطة إصدار جديد عاقل ، راجع https://github.com/amasad/sane/pull/97#issuecomment -309203580

نفس المشكلة،
نظام التشغيل MAC OS X Sierra
عقدة v7.8.0
دعابة ^ 20.0.4

عمل brew install watchman أيضًا باستخدام NodeJS v6.9 ولكن ما لا أفهمه هو اعتماد الحارس نفسه. هل هذه تبعية لإصدار NodeJS على نظام التشغيل Mac OS X Sierra؟ أين يناسب هذا في شجرة التبعية؟

عمل لي brew install watchman .

كان لدي هذا الخطأ ، لكنني وجدت أنه إذا قمت بتغيير الأمر الذي استخدمته لتشغيل المزاح في وضع المشاهدة ، فقد نجح.

"test": "jest",
"test:watch": "npm run test -- --watch",

أصبح:

"test": "jest",
"test:watch": "npm run test --watch",

عمل مراقب تثبيت الشراب ... حتى لم يحدث ...: - / قم بإنهاء اختباراتي وتشغيله مرة أخرى. وعدنا إلى المربع الأول. الحارس غير مثبت ، الحارس المعاد تثبيته. لا النرد.

عمل لي brew install watchman . وأعتقد أن الحارس قد تعرض للكسر بطريقة ما لأنني أغلقت عن طريق الخطأ نافذة طرفية أثناء تثبيت حزمة تفاعل باستخدام npm. لا يبدو أن التثبيت النظيف لكل شيء سواء في المشروع أو على مستوى العالم يساعد في ذلك ، ولكن إعادة تثبيت الحارس فعلت ذلك.

نعم! brew install watchman مقابل العمل

نعم! brew install watchman للعمل (2)

نعم! مراقب تركيب الشراب للعمل (3)

كما سبق للحارس

كان لدي هذا الخطأ ، لكنني وجدت أنه إذا قمت بتغيير الأمر الذي استخدمته لتشغيل المزاح في وضع المشاهدة ، فقد نجح.

"test": "jest",
"test:watch": "npm run test -- --watch",

أصبح:

"test": "jest",
"test:watch": "npm run test --watch",

-- الإضافي هو المحدد الذي يخبر npm بإعادة توجيه المعلمات المتبقية إلى البرنامج النصي المشار إليه.

سيتم تشغيل $ # npm run test -- --watch jest --watch لكن npm run test --watch سيتجاهل الوسيطة وتشغيل jest . يمكنك التحقق من ذلك في إخراج وحدة التحكم الخاصة بك.

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