web-dev-qa-db-fra.com

Erreur d'écoute: impossible de surveiller les modifications dans les répertoires

Je reçois le message d'erreur suivant lors de l'exécution de l'application Rails sur le serveur Ubuntu

FATAL: Erreur d'écoute: impossible de surveiller les répertoires pour les modifications. Visite https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers pour plus d'informations sur la façon de résoudre ce problème.

J'ai suivi la page GitHub ci-dessus, mais je ne pouvais pas écrire dans max_user_watches qui étaient définis dans 8192 et je souhaite le définir sur 524288 . Dans cat /proc/sys/fs/inotify/max_user_watches le fichier était uniquement en mode lecture. mais je recevais une erreur refusée d'autorisation même avec un accès root.

Merci d'avance!!! 

41
current_user

1000 est beaucoup trop petit, essayez avec 524288 comme expliqué dans la page du wiki: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers

Listen utilise inotify par défaut sous Linux pour surveiller les répertoires de changements. Il n'est pas rare de rencontrer une limite système sur le nombre des fichiers que vous pouvez surveiller. Par exemple, Ubuntu Lucid (64 bits) inotify La limite est fixée à 8192.

Si vous utilisez Debian, RedHat ou un autre Linux similaire distribution, exécutez ce qui suit dans un terminal:

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

Si vous utilisez ArchLinux, exécutez la commande suivante à la place

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

Essayez simplement d’exécuter ceci depuis votre console:

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

J'espère que cela fonctionnera pour vous.

Références: cliquez ici

13

Pour d'autres qui peuvent avoir ce problème. J'ai eu une déconnexion VM qui a laissé le serveur Rails précédent en marche. L'exécution ci-dessous a résolu le problème sans avoir besoin d'augmenter le nombre d'observateurs.

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

Dans mon cas, je dois juste éteindre le terminal, puis le redémarrer. Cela fonctionne lorsque j'essaie d'exécuter la commande Rails c :)

0
Quy Le