#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 с приведенными выше предложениями не работает, попробуйте перезагрузить компьютер, чтобы уничтожить возможные бесполезные процессы.
Надеюсь, это поможет.