Ошибка: ENOSPC: достигнут системный предел для количества наблюдателей за файлами angular

#angular #linux #inotify

#angular #linux #inotify

Вопрос:

Я получаю эту ошибку при выполнении своего проекта Angular 10.

Error from chokidar (/myProject): Error: ENOSPC: System limit for number of file watchers reached, watch '/myProject/tsconfig.spec.json'

Есть ли способ устранить эту ошибку?

Комментарии:

1. Похоже, у вас запущено слишком много наблюдателей за файлами?

2. Могу ли я что-то сделать, чтобы отключить их?

Ответ №1:

Вы сталкиваетесь с ограничением ядра с вашими наблюдателями inotify. Вы можете запустить это, чтобы исправить это для текущей загрузки,

 sudo sysctl -w fs.inotify.max_user_watches=524288
 

Вы можете запустить это, чтобы исправить это для будущих загрузок,

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

Комментарии:

1. Да, и не забудьте перезагрузить рабочий стол Linux.

2. Я увеличил свой до 600000, но новые файлы при сохранении не запускают перезапуск сервера. Любое предложение

3. Для тех, кто скопировал второй фрагмент кода и получил ошибку, просто удалите и сделайте его однострочным.

Ответ №2:

Я нашел этот пост и помог мне решить эту проблему. Все, что вам нужно сделать, это изменить max_user_watches

Ошибка ENOSPC Достигнут системный предел для количества наблюдателей за файлами

Ответ №3:

Я получил это в vs code при выполнении ssh. Я думаю, проблема заключалась в том, что vs code просматривал все файлы в моей папке node_modules. Чтобы решить эту проблему в vs code, я перешел к:

Файл> Настройки> Настройки, а затем к маленькому значку бумаги в верхней части страницы настроек. Это приведет вас к файлу settings.json, который использует код. Затем я добавил это в файл настроек, и это решило проблему:

 "files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/**": true,
    "**/samples": true
},
 

Комментарии:

1. Это решение, которое нужно принять.

2. «files.exclude»: { » /build»: true, » */node_modules»: true, » */.git/objects/ «: true, }

Ответ №4:

Используйте ниже

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

Чтобы увеличить количество просмотров вашей системой

Ответ №5:

# вставьте новое значение в конфигурацию системы

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

# проверить, было ли применено новое значение

 cat /proc/sys/fs/inotify/max_user_watches
 

Ответ №6:

Я получил эту ошибку в VS Code и проверил, что у нее уже есть files.watcherExclude перечисленные здесь параметры. Я нашел несколько альтернатив, чтобы избежать этой ошибки, они могут быть полезны, если вы предпочитаете не увеличивать max-user-watches значение.

  • Воздержитесь от одновременного запуска многих серверов. Запускайте одновременно только один сервер Angular.
  • Воздержитесь от одновременного открытия многих папок в VSCode. Если существует только один проект, попробуйте открыть подпапку, чтобы уменьшить количество наблюдателей. (Я запустил один сервер и открыл два проекта, и ошибка появилась через несколько минут).
  • Избегайте использования терминала VSCode для запуска сервера Angular, поскольку он может работать медленнее, чем терминал Linux.
  • Если ошибка все еще появляется, и перезапуск VSCode с приведенными выше предложениями не работает, попробуйте перезагрузить компьютер, чтобы уничтожить возможные бесполезные процессы.

Надеюсь, это поможет.