2017-06-01 108 views
4

我正在使用webpack --watch語句在watch模式下運行我的webpack以構建我的ReactJS應用程序。然而由於某種原因,它現在停止了工作。它現在只是編譯代碼一次,終止webpack - 在建立一次後退出

我想在這個崗位SO建議的方法:webpack --watch isn't compiling changed files

但是它並沒有解決這個問題對我來說。 任何幫助appreaciated

+0

它是否適用於新項目,還是在您的系統上完全損壞?你在OSX上嗎? –

+0

@MichaelLyons,它正在工作更早,現在它不,我正在使用ubuntu –

+0

運行此命令:'echo fs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf&& sudo sysctl -p'然後再用'webpack -w'運行webpack –

回答

5

這個問題似乎已經出現了由於inotify的手錶極限

聽使用的inotify默認的Linux監測目錄中 變化。在您可以監控的文件的編號 上遇到系統限制並不罕見。

目前手錶限制可以通過命令

$ cat /proc/sys/fs/inotify/max_user_watches 

可以看到在我的情況下,它是8192這是Linux X64系統的默認值

要臨時更改它,我們需要運行以下命令

$ 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 
1

發生這種情況主要是因爲它監視着node_modules文件夾並超出了限制。在這種情況下,而不是修改主機系統,請使用:

watchOptions: { 
    aggregateTimeout: 300, 
    poll: 1000, 
    ignored: /node_modules/ 
    } 

webpack.config.js出口。