code

수신 오류 : 디렉터리 변경을 모니터링 할 수 없습니다.

codestyles 2021. 1. 11. 08:14
반응형

수신 오류 : 디렉터리 변경을 모니터링 할 수 없습니다.


Ubuntu 서버에서 Rails 앱을 실행하는 동안 다음 오류가 발생합니다.

치명적 : 수신 오류 : 디렉토리 변경 사항을 모니터링 할 수 없습니다. 이 문제를 해결하는 방법에 대한 정보는 https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers방문 하십시오 .

위의 GitHub 페이지를 따랐지만 8192로 설정된 max_user_watches에서 쓸 수 없었고 524288로 설정하고 싶습니다 cat /proc/sys/fs/inotify/max_user_watches. 파일에서 읽기 전용 모드였습니다. 쓰기 권한을 부여하려고했지만 루트 액세스에서도 권한 거부 오류가 발생했습니다.

미리 감사드립니다 !!!


1000은 너무 작습니다. 위키 페이지 https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers에 설명 된대로 524288로 시도해보십시오.

Listen은 Linux에서 기본적으로 inotify를 사용하여 디렉토리의 변경 사항을 모니터링합니다. 모니터링 할 수있는 파일 수에 대한 시스템 제한이 발생하는 것은 드문 일이 아닙니다. 예를 들어 Ubuntu Lucid (64 비트) inotify 제한은 8192로 설정됩니다.

Debian, RedHat 또는 다른 유사한 Linux 배포를 실행중인 경우 터미널에서 다음을 실행합니다.

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

ArchLinux를 실행중인 경우 대신 다음 명령을 실행하십시오.

echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system

콘솔에서 이것을 실행하십시오.

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

이것이 당신을 위해 일하기를 바랍니다.

참조 : 여기를 클릭하십시오


이 문제가있을 수있는 다른 사람들을 위해. 이전 레일 서버가 실행중인 VM 연결이 끊어졌습니다. 아래를 실행하면 감시자 수를 늘리지 않고도 문제가 해결되었습니다.

 kill -9 $(lsof -i tcp:3000 -t)

제 경우에는 터미널을 껐다가 다시 시작하면됩니다. rails c명령 을 실행하려고 할 때 작동합니다. :)


이 오류는 내가 알지 못했던 많은 루비 프로세스가 현재 실행 중이었기 때문에 발생했습니다. 그것들을 종료하기 만하면됩니다.

참조 URL : https://stackoverflow.com/questions/42225677/listen-error-unable-to-monitor-directories-for-changes

반응형