I was using webpack --watch
statement to run my webpack in watch mode for building my ReactJS app. However for some reason, it stopped working now. It now just compiles the code once and terminates
I tried the methods suggested in this SO post: webpack --watch isn't compiling changed files
However it did not solve the problem for me. Any help is appreaciated
The problem seems to have arose because of the inotify watch limit
Listen uses inotify by default on Linux to monitor directories for changes. It's not uncommon to encounter a system limit on the number of files you can monitor.
The current watch limit can be seen through the command
$ cat /proc/sys/fs/inotify/max_user_watches
In my case it was 8192 which is the default value for linux X64 systems
To change it temporarily we need to run the following commands
$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p
For permanently setting it we should run run
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
This happen mostly because it watches the node_modules
folder and exceeds the limit. In this case, rather than modifying the host system, use:
watchOptions: {
aggregateTimeout: 300,
poll: 1000,
ignored: /node_modules/
}
to the webpack.config.js
exports.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With