Jest: Bug: Mode tontonan di Linux menyebabkan kesalahan ENOSPC Node.js

Dibuat pada 4 Apr 2017  ·  77Komentar  ·  Sumber: facebook/jest

Versi:

  • Benang: v0.21.3
  • Simpul: v6.9.2
  • npm: 3.10.9
  • Ubuntu: 16.10

Diinstal menggunakan : yarn global add jest (Dengan chown di ~/.config/yarn/global/node_modules/ )

Perintah gagal: jest -c lib/tools/testing/jest.config.json --no-cache --watch

Jika saya menjalankan jest -c lib/tools/testing/jest.config.json --no-cache pengujian berfungsi 100% dengan baik.

Pesan eror:

fs.js:1431
    throw error;
    ^

Error: watch /home/fooBar/dev/blah/lib/tools/testing/node_modules/core-js/modules ENOSPC
    at exports._errnoException (util.js:1022:11)
    at FSWatcher.start (fs.js:1429:19)
    at Object.fs.watch (fs.js:1456:11)
    at NodeWatcher.watchdir (/home/fooBar/.config/yarn/global/node_modules/sane/src/node_watcher.js:148:20)
    at Walker.<anonymous> (/home/fooBar/.config/yarn/global/node_modules/sane/src/node_watcher.js:361:12)
    at emitTwo (events.js:106:13)
    at Walker.emit (events.js:191:7)
    at /home/fooBar/.config/yarn/global/node_modules/walker/lib/walker.js:69:16
    at go$readdir$cb (/home/fooBar/.config/yarn/global/node_modules/graceful-fs/graceful-fs.js:149:14)
    at FSReqWrap.oncomplete (fs.js:123:15)

Tmp dir: yarn config set tmp /tmp/

Ruang kosong disk: df -h / (11% digunakan)

Konfigurasi lelucon: di lib/tools/testing/jest.config.json

{
    "clearMocks": true,
    "bail": true,
    "transform": {
        ".(ts|tsx)": "<rootDir>/lib/tools/testing/node_modules/ts-jest/preprocessor.js"
    },
    "testResultsProcessor": "<rootDir>/lib/tools/testing/node_modules/ts-jest/coverageprocessor.js",
    "testMatch": [
        "**/__tests__/*.(ts|tsx|js)"
    ],
    "moduleFileExtensions": [
        "ts",
        "tsx",
        "js"
    ],
    "moduleDirectories": [
        "node_modules",
        "<rootDir>/lib/tools/testing/node_modules"
    ],
    "collectCoverage": true,
    "coverageDirectory": "./reports/",
    "coverageReporters": [
        "clover",
        "lcov",
        "text-summary"
    ],
    "coverageThreshold": {
        "global": {
            "branches": 50,
            "functions": 80,
            "lines": 60
        }
    },
    "collectCoverageFrom": [
        "{src,lib}/**/*.{ts,js}",
        "!lib/{tools}/**/*",
        "!**/{node_modules,vendor}/**"
    ]
}

Komentar yang paling membantu

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

Semua 77 komentar

Ini berarti tidak ada ruang di drive Anda. Harap bersihkan disk Anda.

@cpojer tidak yakin apakah Anda membaca masalahnya, tetapi;

Ruang kosong disk: df -h / (11% digunakan)

disebutkan di sana - ruang disk meskipun dilaporkan sebagai masalah, sebenarnya bukan masalahnya.

Bump @cpojer

Saya mengalami masalah yang sama, dan pasti ada ruang disk kosong

Sayangnya kami tidak memiliki sumber daya untuk men-debug ini di Linux. Jika Anda punya waktu dan Anda bisa melihat dan membantu kami dengan permintaan tarik untuk memperbaikinya, itu akan sangat dihargai.

@cpojer Saya akan melihatnya - tetapi saya juga percaya itu tidak terbatas pada OS Linux. Terlepas dari itu, apakah Anda keberatan membuka kembali masalah ini?

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

Terima kasih telah menyelidiki, jika Anda menginstal penjaga, itu akan berfungsi.

Baru-baru ini beralih dari Windows 7 ke Ubuntu 16.04.2 LTS dan Jest bekerja dengan baik di Windows tetapi gagal berjalan di Linux karena alasan yang sama yang tercantum di atas. Tampaknya hanya gagal jika Anda menambahkan flag --watch .

Pertama saya mengambil saran @cpojer dan menginstal penjaga sesuai dokumen dan menjalankan jest --watch lagi dan saya mendapatkan kesalahan berikut:

jest --watch

events.js:163
      throw er; // Unhandled 'error' event
      ^

Error: A non-recoverable condition has triggered.  Watchman needs your help!
The triggering condition was at timestamp=1493335106: inotify-add-watch(/home/username/project_name/node_modules/browser-resolve/node_modules/resolve/example) -> The user limit on the total number of inotify watches was reached; increase the fs.inotify.max_user_watches sysctl
All requests will continue to fail with this message until you resolve
the underlying problem.  You will find more information on fixing this at
https://facebook.github.io/watchman/docs/troubleshooting.html#poison-inotify-add-watch

    at ChildProcess.<anonymous> (/home/username/project_name/node_modules/sane/node_modules/fb-watchman/index.js:207:21)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:194:7)
    at maybeClose (internal/child_process.js:899:16)
    at Socket.<anonymous> (internal/child_process.js:342:11)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at Pipe._handle.close [as _onclose] (net.js:510:12)
npm ERR! Test failed.  See above for more details.

Ini berguna karena memberi tahu Anda apa yang harus dilakukan, jadi saya kemudian menggunakan perbaikan dari @maraisr dan lelucon sekarang bekerja di Ubuntu :tada: :beers:

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

Terima kasih telah mengetahui hal ini @maraisr @cpojer :+1: Apakah menurut Anda sesuatu harus ditambahkan ke situs web Jest ?

Terima kasih bro @maraisr

@maraisr apakah Anda tahu jika ada versi sudo-kurang dari solusi itu, kebetulan?

@vspedr tidak yakin - saya bisa melihatnya!

Tapi kami menyentuh file sistem di sana, jadi untuk keamanan Anda memerlukan izin yang lebih tinggi. Jika Anda dapat menjadikan diri Anda seorang sudoer, saya yakin Anda dapat menjalankan perintah-perintah itu tanpa Sudo.

Tapi ya - saya akan melihat dan melihat apa yang bisa saya dapatkan.

Mungkin saya melewatkan sesuatu... tapi mengapa lelucon perlu melihat sesuatu di direktori node_modules ?
Bagaimana saya bisa mengonfigurasinya sehingga melewatkan node_modules ?

@SimenB , seperti yang saya lihat watchPathIgnorePatterns melewatkan file hanya setelah arloji itu sendiri aktif dan berjalan, itu sebabnya awal arloji bisa memakan waktu lama dan terkadang bisa membuang ENOSPC

Oke. PR yang menghormati watchPathIgnorePatterns saat menyiapkan pengamat akan menyenangkan :)

@SimenB dapatkah Anda menunjukkan saya tempat di kode sumber di mana ia langsung mulai menonton? Saya kesulitan menemukan tempat ini

Cari tahu bahwa pengamat menggunakan HasteMap sebagai sumber dari semua file yang harus ditonton, dan pertanyaannya sekarang dalam proses membangun HasteMap.
HasteMap menghormati opsi modulePathIgnorePatterns, tetapi tidak logis untuk menggunakan opsi ini berdasarkan deskripsi dari dokumen:

Larik string pola regexp yang dicocokkan dengan semua jalur modul sebelum jalur tersebut dianggap 'terlihat' oleh pemuat modul. Jika jalur modul yang diberikan cocok dengan salah satu pola, itu tidak akan membutuhkan()-mampu di lingkungan pengujian.

Apakah saya benar?

@maraisr

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

solusi ini tidak berfungsi pada mac os 10.13.4 saya, ini mengembalikan kesalahan di bawah

sysctl: illegal option -- p usage: sysctl [-bdehiNnoqx] name[=value] ... sysctl [-bdehNnoqx] -a sysctl: illegal option -- p usage: sysctl [-bdehiNnoqx] name[=value] ... sysctl [-bdehNnoqx] -a

Saya tidak mengerti mengapa bug ini "Ditutup". Memaksa pengguna untuk sudo untuk tugas biasa tentu saja merupakan bug.

Ini adalah bug yang unik untuk Jest: mocha, guard, dll. semua menonton _subdirektori_ tertentu, bukan . , untuk menghindari masalah ini. (Daftar subdirektori bisa jadi opsional.)

Dalam lelucon 21 saya tidak pernah mengalami masalah ini. vscode bersaing dengan lelucon untuk menonton file. ketika saya menutup vscode, lelucon mulai berfungsi dengan benar.

Saya mendapatkan masalah ini, ketika saya membuka dua instance VSCode.

Silakan buka kembali atau tambahkan perbaikan ke pemecahan masalah untuk pengujian.

Ini membawa saya begitu lama untuk menemukan dan akhirnya memperbaiki. Saya mulai melakukan solusi lagi dan lagi. Terima kasih @samit4me !

Saya memiliki ini dengan 2 contoh VSCode terbuka, yang sangat masuk akal.

Untuk menghindari bug ini cukup gunakan sublime/atom/gedit. Atau Anda dapat menutup VSCode saat membangun/debugging.

lsof | wc -l
dapat menjelaskan sumber masalah.
Program apa pun, apakah itu browser atau dibuat dengan mesin web di dalamnya (yaitu kode VS), secara drastis meningkatkan jumlah deskriptor file yang dibuka (sekitar 30.000 dan lebih per program).
Saya tidak melihat solusi yang dapat diandalkan, karena. teknologi web menjadi di mana-mana

Cheers untuk titik di arah yang benar dalam hal ini. Saya memiliki masalah yang sama dengan jam tangan yang gagal, tetapi dalam kasus ini hanya satu contoh VSCode yang berjalan. Menutup itu, lalu menjalankan proyek saya dan membuka kembali, menyelesaikannya.

IMO, tidak dapat diterima bahwa harus ada jam tangan di node_modules

Ini terutama berfungsi (dan banyak file yang dihapus) dari mesin web, tetapi tidak dari node_modules, yang memblokir node gratis untuk pengamat.

Saya mendapatkan kesalahan ini ketika saya memperbarui dependensi proyek. Untuk mengatasinya, saya baru saja menghapus dan menginstal node_modules

Terima kasih banyak

@maraisr Bagus, echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p bekerja untuk saya di Ubuntu 18.04.1 LTS

@maraisr Terima kasih atas perbaikan Anda bekerja dengan sempurna di ubuntu 18 seperti yang dikatakan @xameeramir

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p memperbaikinya untuk saya juga :+1:

Ketahuilah bahwa /etc/sysctl.conf biasanya ditimpa saat memutakhirkan (misalnya dari Ubuntu 16 ke 18 LTS) dan akan menghapus batas yang lebih tinggi. Saya diperingatkan tentang ini, tetapi mudah untuk dilewatkan di lautan peringatan serupa lainnya. Meskipun saya _melihat_ perbedaan max_user_watches , saya masih terlempar untuk pengulangan pagi ini ketika saya pertama kali menemukan kesalahan, karena tidak jelas bahwa hal-hal ini terhubung. Namun, begitu saya membuka halaman masalah ini, sudah jelas apa yang perlu saya perbaiki.

Hore untuk memecahkan kembali masalah yang telah saya perbaiki dua tahun lalu :laughing:

Hal lucu tentang fs.inotify.max_user_watches=524288
Dalam kasus saya, tampaknya proyek ini cukup besar sehingga 524288 tidak cukup besar. Jadi... yah fs.inotify.max_user_watches=2048000 membantu.
Mungkin juga terkait dengan masalah membuka banyak hal di kode vs di samping.

Mendapatkan ini di ubuntu 18.10 ketika saya menjalankan "npm start" pada aplikasi create-react-app saya yang belum tersentuh
BEKERJA!!!
LARUTAN
echo fs.inotify.max_user_watches=2048000 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Untuk apa nilainya: Mungkin ini terkait dengan lingkungan (modul X vs modul Y).

Saya memiliki 2 aplikasi ReactNative yang memiliki 2 konfigurasi berbeda. Sebagian besar karena salah satunya menggunakan React-Native-Camera yang belum siap untuk versi RN terbaru (yaitu: Gradle terbaru dan lingkungan semacamnya). Yang lainnya adalah demo untuk menguji versi dan lingkungan RN terbaru.

Aplikasi yang menggunakan React-Native-Camera dikompilasi dengan sempurna (--variant=release) di Linux . Yang lain mendapat kesalahan ENOSPC . Perbaikan "fs.inotify.max_user_watches" berhasil. Saya seperti "hah?". Seperti yang dijelaskan oleh yang lain, saya punya banyak gigabyte di NAS ...

Berikut adalah "package.json" dari kedua aplikasi.

Mungkin Anda akan menemukan sesuatu yang berguna.
Aplikasi 1 (Kamera):

{
  "name": "********************",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "i18n-js": "^3.0.11",
    "react": "16.4.1",
    "react-native": "0.56.0",
    "react-native-camera": "^1.2.0",
    "react-native-languages": "^3.0.1",
    "react-navigation": "^2.16.0"
  },
  "devDependencies": {
    "babel-jest": "23.4.2",
    "babel-preset-react-native": "5.0.2",
    "jest": "23.5.0",
    "react-test-renderer": "16.4.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

Aplikasi 2 (demo uji):

{
  "name": "DemoReactNative",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "i18n-js": "^3.0.11",
    "react": "16.6.0-alpha.8af6728",
    "react-native": "0.57.3",
    "react-native-languages": "^3.0.1",
    "react-navigation": "^2.18.0"
  },
  "devDependencies": {
    "babel-jest": "23.6.0",
    "jest": "23.6.0",
    "metro-react-native-babel-preset": "0.48.1",
    "react-test-renderer": "16.6.0-alpha.8af6728"
  },
  "jest": {
    "preset": "react-native"
  }
}

maraisr,
terima kasih bekerja!!!

hanya berjalan saat Sudo bekerja untuk saya

@4E71-NOP Saya melihat hal yang sama. Setelah kami memperbarui dari RN 0,51 ke 0,57, kami mulai mengalami masalah ini. Meningkatkan batas inotify membantu

Saya menjalankan dengan Sudo ... dan itu berhasil untuk saya

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Ini membantu saya untuk UBUNTU 18.10

Terimakasih banyak. Tapi seperti yang disebutkan @adamhooper sebelumnya, Forcing the user to sudo for a mundane task is certainly a bug.

Ada ide untuk pengguna biasa?

echo fs.inotify.max_user_watches=524288 |

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

Memecahkan masalah saya dengan sempurna, terima kasih banyak!

Saya memperbaikinya tidak termasuk node_modules dengan pengaturan modulePathIgnorePatterns .

Tambahkan ini ke package.json Anda:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

Bekerja seperti pesona. Terima kasih @maraisr !

[hayesmaker64<strong i="5">@gohan</strong> hype-layer]$ npm test

> [email protected] test /home/hayesmaker64/Workspace/twitch/hype-layer
> react-scripts test

internal/fs/watchers.js:173
    throw error;
    ^

Error: ENOSPC: System limit for number of file watchers reached, watch '/home/hayesmaker64/Workspace/twitch/hype-layer/node_modules/get-stream'
    at FSWatcher.start (internal/fs/watchers.js:165:26)
    at Object.watch (fs.js:1254:11)
    at NodeWatcher.watchdir (/home/hayesmaker64/Workspace/twitch/hype-layer/node_modules/sane/src/node_watcher.js:175:20)
    at Walker.<anonymous> (/home/hayesmaker64/Workspace/twitch/hype-layer/node_modules/sane/src/common.js:116:12)
    at Walker.emit (events.js:182:13)
    at /home/hayesmaker64/Workspace/twitch/hype-layer/node_modules/walker/lib/walker.js:69:16
    at go$readdir$cb (/home/hayesmaker64/Workspace/twitch/hype-layer/node_modules/graceful-fs/graceful-fs.js:162:14)
    at FSReqWrap.oncomplete (fs.js:141:20)
npm ERR! Test failed.  See above for more details.
[hayesmaker64<strong i="6">@gohan</strong> hype-layer]$ ^C
[hayesmaker64<strong i="7">@gohan</strong> hype-layer]$ ^C
[hayesmaker64<strong i="8">@gohan</strong> hype-layer]$ npm test

> [email protected] test /home/hayesmaker64/Workspace/twitch/hype-layer
> react-scripts test


Out of the box, Create React App only supports overriding these Jest options:

  • collectCoverageFrom
  • coverageReporters
  • coverageThreshold
  • globalSetup
  • globalTeardown
  • resetMocks
  • resetModules
  • snapshotSerializers
  • watchPathIgnorePatterns.

These options in your package.json Jest configuration are not currently supported by Create React App:

  • modulePathIgnorePatterns

If you wish to override other Jest options, you need to eject from the default setup. You can do so by running npm run eject but remember that this is a one-way operation. You may also file an issue with Create React App to discuss supporting more options out of the box.

Untuk pengunjung masa depan, solusi @pomber secara objektif jauh lebih baik daripada meningkatkan batas tontonan:

Tambahkan ini ke package.json Anda:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

Ini memperbaiki masalah yang saya alami dengan Vue saat menjalankan npm run serve Terima kasih atas sarannya @maraisr

@pomber Terima kasih, ini menyelesaikan masalah saya di Fedora tanpa meningkatkan batas sistem apa pun.

Terima kasih @maraisr , ini menyelesaikan masalah saya :)

Terimakasih banyak! @maraisr

Solusi Anda berhasil untuk saya, @maraisr!
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Terima kasih!

Ini adalah kesalahan saya untuk siapa saja yang tertarik:
Log untuk proyek Anda akan muncul di bawah. Tekan Ctrl+C untuk keluar.
(node: 19425) UnhandledPromiseRejectionWarning: Error: ENOSPC: Batas sistem untuk jumlah pengamat file tercapai, tonton '/home/claire/Documents/my-app-name'
di FSWatcher.start (internal/fs/watchers.js:165:26)
di Object.watch (fs.js:1274:11)
di NodeWatcher.watchdir (/home/claire/Documents/my-app-name/node_modules/sane/src/node_watcher.js:175:20)
di NodeWatcher baru (/home/claire/Documents/my-app-name/node_modules/sane/src/node_watcher.js:45:8)
di createWatcher (/home/claire/Documents/my-app-name/node_modules/jest-haste-map/build/index.js:780:23)
di Array.map ()
di HasteMap._watch (/home/claire/Documents/my-app-name/node_modules/jest-haste-map/build/index.js:936:44)
di _buildPromise._buildFileMap.then.then.hasteMap (/home/claire/Documents/my-app-name/node_modules/jest-haste-map/build/index.js:355:23)
di processTicksAndRejections (internal/process/next_tick.js:81:5)
(node: 19425) UnhandledPromiseRejectionWarning: Penolakan janji yang tidak ditangani. Kesalahan ini berasal baik dengan melemparkan ke dalam fungsi async tanpa blok catch, atau dengan menolak janji yang tidak ditangani dengan .catch(). (nomor penolakan: 1)
(node: 19425) [DEP0018] DeprecationWarning: Penolakan janji yang tidak ditangani tidak digunakan lagi. Di masa mendatang, penolakan janji yang tidak ditangani akan menghentikan proses Node.js dengan kode keluar bukan nol.
ENOSPC: Batas sistem untuk jumlah pengamat file tercapai, tonton '/home/claire/Documents/my-app-name'
ENOSPC: Batas sistem untuk jumlah pengamat file tercapai, tonton '/home/claire/Documents/my-app-name'

Saya memperbaikinya tidak termasuk node_modules dengan pengaturan modulePathIgnorePatterns .

Tambahkan ini ke package.json Anda:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

setelah itu, hapus saja folder node_modules dan jalankan kembali npm install .

"modulePathIgnorePatterns": [
      "node_modules"
    ]

ini jawaban yang sebenarnya

Jika Anda mengalami masalah ini secara konsisten dan tidak dapat mengabaikan node_modules , menginstal Watchman akan membantu:
https://facebook.github.io/watchman/

Ada pengoptimalan khusus Watchman di dalam Jest, jadi ini juga akan meningkatkan waktu startup Anda untuk proyek besar secara signifikan.

Ke depan, saya akan melihat tidak secara otomatis menonton node_modules ketika melakukannya akan menyebabkan jenis kesalahan ini (misalnya: tidak ada Watchman dan tidak di Darwin sehingga tidak dapat menggunakan fsevents ).

Oh Hei @scotthovestadt! Semoga Anda baik-baik saja!

Untuk pengunjung masa depan, solusi @pomber secara objektif jauh lebih baik daripada meningkatkan batas tontonan:

Tambahkan ini ke package.json Anda:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

Ini harus menjadi jawaban teratas. Orang - tolong tabrak ini. Mengapa Anda hanya mengatakan "oh, kehabisan memori/sumber daya - berikan lebih banyak memori/sumber daya" tanpa memeriksa penyebabnya?

Sayangnya kami tidak memiliki sumber daya untuk men-debug ini di Linux. Jika Anda punya waktu dan Anda bisa melihat dan membantu kami dengan permintaan tarik untuk memperbaikinya, itu akan sangat dihargai.

Linux adalah standar de-facto untuk semua pengembang profesional, apakah Anda benar-benar peduli dengan pengguna Windows dan Mac? Itu adalah rasa malu

@maraisr terima kasih. Saya menyelesaikan masalah. :penari:

Untuk pengunjung masa depan, solusi @pomber secara objektif jauh lebih baik daripada meningkatkan batas tontonan:

Tambahkan ini ke package.json Anda:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

Ini harus menjadi jawaban teratas. Orang - tolong tabrak ini. Mengapa Anda hanya mengatakan "oh, kehabisan memori/sumber daya - berikan lebih banyak memori/sumber daya" tanpa memeriksa penyebabnya?

Sekedar catatan: perbaikan yang tepat saat ini tidak berfungsi hingga #7585 yang memperbaiki #7544 .

mungkin ada beberapa masalah izin coba Sudo npm start

Perintah ini akan meningkatkan jumlah pengamat yang diizinkan:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Sumber

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

@maraisr Terima kasih, solusi Anda bekerja dengan sempurna di Ubuntu 18.04

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

Terima kasih, ini menyelesaikan masalah saya.

Pengunjung masa depan dan @sunnykeshri @JimmyBastos @BrotherDonkey @CodeMonkeyG , demi kewarasan saya, tolong berhenti menyebarkan perbaikan batas tontonan.

Untuk pengunjung masa depan, solusi @pomber secara objektif jauh lebih baik daripada meningkatkan batas tontonan:

Tambahkan ini ke package.json Anda:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

Ini harus menjadi jawaban teratas. Orang - tolong tabrak ini. Mengapa Anda hanya mengatakan "oh, kehabisan memori/sumber daya - berikan lebih banyak memori/sumber daya" tanpa memeriksa penyebabnya?

Pengunjung masa depan dan @sunnykeshri @JimmyBastos @BrotherDonkey @CodeMonkeyG , demi kewarasan saya, tolong berhenti menyebarkan perbaikan batas tontonan.

Untuk pengunjung masa depan, solusi @pomber secara objektif jauh lebih baik daripada meningkatkan batas tontonan:

Tambahkan ini ke package.json Anda:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

Ini harus menjadi jawaban teratas. Orang - tolong tabrak ini. Mengapa Anda hanya mengatakan "oh, kehabisan memori/sumber daya - berikan lebih banyak memori/sumber daya" tanpa memeriksa penyebabnya?

Buat Aplikasi React membatasi kunci yang dapat digunakan dalam konfigurasi paket jest - adakah yang menemukan cara untuk menyelesaikan ini di aplikasi CRA?

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

Terima kasih resovel o problema já tava procurando a horas o que era esse rro

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

Sekedar catatan untuk perbaikan, Anda mungkin lebih baik menginstruksikan pengguna untuk memeriksa bahwa bendera/nilai belum ada sehingga mereka tidak mendapatkan contoh duplikatnya. Itu atau gunakan semacam alat untuk memikirkan hal ini.

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

Terima kasih atas jawaban terbaik Anda.

Dari temuan saya, itu sama sekali tidak terkait dengan Jest. Di Linux (atau Mac) kami memiliki jumlah maksimum pengamat sistem yang dapat kami tempatkan pada level IO (dari pemahaman saya). Jadi untuk proyek-proyek besar, tampaknya Jest sedang mencoba untuk menonton hanya untuk banyak file.

Memperbaiki:

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

Sumber: Kesalahan Node.JS: ENOSPC

terima kasih atas jawabannya
itu bekerja untuk saya

Terima kasih @maraisr

Karena beberapa komentar terakhir telah menyarankan solusi sebelumnya, dan perbaikan selanjutnya mulai terkubur, saya merasa perlu untuk mengulangi untuk pembaca masa depan (dan @pradeepsrawat029 @karsa87 @igorgoiis ) bahwa Anda harus terlebih dahulu mencoba perbaikan nanti jika berlaku, yang awalnya tidak mungkin karena bug lelucon:

Untuk pengunjung masa depan, solusi @pomber secara objektif jauh lebih baik daripada meningkatkan batas tontonan:

Tambahkan ini ke package.json Anda:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

Ini harus menjadi jawaban teratas. Orang - tolong tabrak ini. Mengapa Anda hanya mengatakan "oh, kehabisan memori/sumber daya - berikan lebih banyak memori/sumber daya" tanpa memeriksa penyebabnya?

Saya dapat memperbaiki masalah ini dengan sudo react-native start

Apakah halaman ini membantu?
0 / 5 - 0 peringkat