web-dev-qa-db-ja.com

リスニングエラー:ディレクトリの変更を監視できません

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でファイルは読み取りモードのみでした。ルートアクセスでも許可拒否エラーが発生します。

前もって感謝します!!!

53
current_user

1000は小さすぎます。wikiページで説明されているように、524288を試してください。 https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers

Listenは、Linuxではデフォルトでinotifyを使用して、ディレクトリの変更を監視します。監視できるファイル数のシステム制限に遭遇することは珍しくありません。たとえば、Ubuntu Lucid(64bit)の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
85
Mayur Shah

コンソールからこれを実行してみてください

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

これがあなたのために働くことを願っています。

参照: ここをクリック

17

私の場合、端末の電源を切ってからもう一度起動するだけです。 Rails cコマンドを実行しようとすると動作します:)

3
Quy Le

この問題があるかもしれない他の人のために。以前のVMサーバーを実行したままにしていたRails切断がありました。以下を実行すると、ウォッチャーの数を増やすことなく問題が解決しました。

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