2017-02-14 32 views
19

otrzymuję następujący błąd podczas uruchamiania mojego szyn aplikację na serwerze UbuntuPosłuchaj BŁĄD: Nie można monitorować katalogi dla zmian

FATAL: Listen error: unable to monitor directories for changes. Visit https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers for info on how to fix this.

Śledzę powyższej stronie github, ale nie udało mi się napisać w max_user_watches który zostały ustawione w 8192 i chcę ustawić to na 524288. w cat /proc/sys/fs/inotify/max_user_watches plik był tylko w trybie odczytu. Próbowałem nadać uprawnienia do zapisu, ale otrzymywałem błąd odmowy uprawnień nawet z uprawnieniami administratora.

Z góry dziękuję !!!

+0

Czasami może się to zdarzyć, jeśli zbyt wiele procesów próbuje uzyskać dostęp do tego samego folderu, co projekt rails. Na przykład Miałem dostęp do folderu projektu rails na 2 IDE Sublime, VS Code również miał kilka procesów działających w tym samym folderze. Więc podczas uruchamiania serwera miałem do czynienia z tym samym błędem. Jeśli nie chcesz zwiększać limitu obserwatorów, po prostu wyłącz dowolny proces uzyskujący dostęp do tego folderu. Powinno działać. – Swaps

Odpowiedz

21

Funkcja nasłuchuje domyślnie w systemie Linux, aby monitorować katalogi pod kątem zmian. Często zdarza się, że napotykamy ograniczenie systemowe dotyczące liczby plików, które można monitorować. Na przykład, Ubuntu Lucid'S (64bit) inotify granica jest ustawiona na 8192.

1000 jest zbyt mała, spróbuj 524288 jak wyjaśniono na stronie wiki: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers

Z wiki Jeśli używasz Debiana , RedHat, lub inna podobna dystrybucja Linux, należy uruchomić następujące polecenia w terminalu:

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

Jeśli używasz ArchLinux, uruchom następujące polecenie zamiast

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

Wystarczy spróbować wykonać to z konsoli:

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

nadzieję, że będzie pracować dla Ciebie.

Referencje: click here

+0

pracował dla mnie, dzięki –

+0

Zawsze mile widziane. –

1

Dla innych, którzy mogą mieć ten problem. Miałem rozłączenie VM, które spowodowało uruchomienie poprzedniego serwera szyny. Uruchomienie poniżej rozwiązało problem bez potrzeby zwiększenia liczby obserwatorów.

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