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は小さすぎます。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
コンソールからこれを実行してみてください
echo fs.inotify.max_user_watches=524288 | Sudo tee -a /etc/sysctl.conf && Sudo sysctl -p
これがあなたのために働くことを願っています。
参照: ここをクリック
私の場合、端末の電源を切ってからもう一度起動するだけです。 Rails c
コマンドを実行しようとすると動作します:)
この問題があるかもしれない他の人のために。以前のVMサーバーを実行したままにしていたRails切断がありました。以下を実行すると、ウォッチャーの数を増やすことなく問題が解決しました。
kill -9 $(lsof -i tcp:3000 -t)