Luisterfout: kan mappen niet controleren op wijzigingen

Ik krijg de volgende foutmelding tijdens het uitvoeren van mijn rails-app op de Ubuntu-server

FATAL: Luisterfout: kan mappen niet controleren op wijzigingen. Op bezoek komen
https://github.com/guard/listen/wiki /Het-aantal-inotify-watchers vergroten
voor informatie over hoe u dit kunt oplossen.

Ik heb de bovenstaande GitHub-pagina gevolgd, maar ik kon niet schrijven in max_user_watches die waren ingesteld in 8192 en ik wil dat instellen op 524288.
in cat /proc/sys/fs/inotify/max_user_watchesstond het bestand alleen in de leesmodus. Ik heb geprobeerd schrijfrechten te verlenen, maar ik kreeg een foutmelding dat de toestemming werd geweigerd, zelfs met root-toegang.

Bij voorbaat dank!!!


Antwoord 1, autoriteit 100%

1000 is veel te klein, probeer met 524288 zoals uitgelegd op de wikipagina: https://github.com/guard/listen/blob/master/README.md#increasing-the-amount-of-inotify-watchers

Listen gebruikt standaard inotify op Linux om mappen te controleren op
veranderingen. Het is niet ongewoon om een ​​systeemlimiet op het aantal tegen te komen
van bestanden die u kunt controleren. Bijvoorbeeld, Ubuntu Lucid’s (64bit) inotify
limiet is ingesteld op 8192.

en

Als u Debian, RedHat of een andere vergelijkbare Linux gebruikt
distributie, voer het volgende uit in een terminal:

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

Als je ArchLinux gebruikt, voer dan de volgende opdracht uit

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

Antwoord 2, autoriteit 23%

Probeer dit gewoon vanaf je console uit te voeren

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

Hopelijk zal dit voor u werken.

Referenties: klik hier


Antwoord 3, autoriteit 5%

Voor anderen die dit probleem hebben. Ik had een VM-verbinding verbroken waardoor de vorige rails-server bleef draaien. Door hieronder te rennen, is het probleem opgelost zonder dat het aantal kijkers hoeft te worden verhoogd.

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

Antwoord 4, autoriteit 5%

In mijn geval hoef ik alleen de terminal uit te schakelen en opnieuw te starten. Het werkt als ik de opdracht rails cprobeer uit te voeren 🙂


Antwoord 5

Deze fout deed zich voor bij mij omdat ik momenteel een aantal ruby-processen had lopen waarvan ik niet op de hoogte was. Je hoeft ze alleen maar te beëindigen en alles is goed


Antwoord 6

Ik had dit probleem tijdens de ontwikkeling terwijl ik rakedraaide (zelfs met rake -h), en de oplossing van https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify- watcherswerkten niet, evenmin als het uitschakelen van de lopende ruby-processen, het afsluiten van de terminal of zelfs het herstarten van de computer.

Om deze fout te voorkomen heb ik een nieuwe en schone kloon van mijn project gedaan en toen werkte rake(misschien had git clean -fdxkunnen werken, maar ik heb het niet geprobeerd het).

Ik gebruikte rake-versie 13.0.3, rails 6.1.1, ruby ​​2.7.2p137.


Antwoord 7

Toevoegen aan @mayur-shah’s antwoord,

Het werkte voor mij na het sluiten van de server en console. Dus, als je rails server/console gebruikt, sluit die dan eerst.


Antwoord 8

Het verwijderen van Gemfile.lock en het uitvoeren van ‘bundle’ in de projectdirectory-terminal werkte voor mij.

Other episodes