所以我在schema.rb文件中做了一些更改,据我所知,这就是导致此错误的原因。另外我想我删除了一些不正确的迁移文件。
FATAL: Listen error: unable to monitor directories for changes.
它出现在我在终端上使用的每个rails命令
我已经将此视为解决方案
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
但我不知道它做了什么。有人可以解释这里发生了什么。正如解决方案在做什么以及实际导致此错误的原因。
答案 0 :(得分:0)
阅读about inotify:inotify man page
inotify API提供了一种监视文件系统事件的机制。 Inotify可用于监视单个文件或监视目录。监视目录时,inotify将返回目录本身的事件以及目录中的文件。
在您可以监控的文件数量上遇到系统限制并不罕见。
您可以通过执行以下命令获取当前的inotify文件监视限制:
$ cat /proc/sys/fs/inotify/max_user_watches
如果此限制不足以监视目录中的所有文件,则必须增加限制。
您可以使用以下方式设置临时新限制:
$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p
如果您希望永久限制,请使用:
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
gem listen
已达到此限制,因此您需要增加它...