저는 graphql 작업을 배우고 graphql
사용 prisma-binding
하고 있습니다. nodemon
노드 서버를 시작하는 동안 이 오류가 발생하고 graphql-cli
. 누구든지이 오류가 무엇인지 말해 줄 수 있습니까?
오류:
Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/media/rehan-sattar/Development/All projects/GrpahQl/graph-ql-course/graphql-prisma/src/generated
답변
Linux를 사용하는 경우 프로젝트가 시스템의 파일 감시자 제한에 도달하고 있습니다.
이 문제를 해결하려면 터미널에서 다음을 시도하십시오.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
답변
Ubuntu 컴퓨터에서 VSCode로 작업 할 때 가끔이 문제가 발생합니다.
제 경우에는 다음 해결 방법이 도움이됩니다.
감시자를 중지하고 VScode를 닫고 감시자를 시작하고 VSCode를 다시 엽니 다.
답변
시스템 사용자에 대한 inotify 감시자 제한 을 늘려야합니다 . 다음을 사용하여 명령 줄에서이 작업을 수행 할 수 있습니다.
sudo sysctl -w fs.inotify.max_user_watches=100000
하지만 재부팅 할 때까지만 지속됩니다. 이를 영구적으로 만들려면 /etc/sysctl.d/10-user-watches.conf
다음 내용으로 명명 된 파일을 추가하십시오 .
fs.inotify.max_user_watches = 100000
변화 위 (또는 다른)를 한 후, 당신은 모든 sysctl을 구성 파일의 설정을 다시로드 할 수 있습니다 /etc
로 sudo sysctl -p
.
답변
변경 사항을 테스트하기 위해 524288 값으로 매개 변수를 임시로 설정했습니다.
sysctl -w fs.inotify.max_user_watches=524288
그런 다음 유효성 검사를 진행합니다.
npm run serve
문제가 해결되었습니다. 영구적으로 만들려면 “/etc/sysctl.conf”파일에 한 줄을 추가 한 다음 sysctl 서비스를 다시 시작해야합니다.
cat /etc/sysctl.conf |tail -n 2
fs.inotify.max_user_watches=524288
sudo systemctl restart systemd-sysctl.service
답변
관찰자 수를 얼마나 늘릴 지 알기가 어려울 수 있습니다. 따라서 다음은 감시자 수를 두 배로 늘리는 유틸리티입니다.
function get_inode_watcher_count() {
find /proc/*/fd -user "$USER" -lname anon_inode:inotify -printf '%hinfo/%f\n' 2>/dev/null |
xargs cat |
grep -c '^inotify'
}
function set_inode_watchers() {
sudo sysctl -w fs.inotify.max_user_watches="$1"
}
function double_inode_watchers() {
watcher_count="$(get_inode_watcher_count)"
set_inode_watchers "$((watcher_count * 2))"
if test "$1" = "-p" || test "$1" = "--persist"; then
echo "fs.inotify.max_user_watches = $((watcher_count * 2))" > /etc/sysctl.d/10-user-watches.conf
fi
}
# Usage
double_inode_watchers
# to make the change persistent
double_inode_watchers --persist