我已经设置了一个新的空白反应本机应用程序。

在安装了几个节点模块后,我得到了这个错误。

Running application on PGN518.
internal/fs/watchers.js:173
   throw error;
   ^

Error: ENOSPC: System limit for number of file watchers reached, watch '/home/badis/Desktop/react-native/albums/node_modules/.staging'
   at FSWatcher.start (internal/fs/watchers.js:165:26)
   at Object.watch (fs.js:1253:11)
   at NodeWatcher.watchdir (/home/badis/Desktop/react-native/albums/node modules/sane/src/node watcher. js:175:20)
   at NodeWatcher.<anonymous> (/home/badis/Desktop/react-native/albums/node modules/sane/src/node watcher. js:310:16)
   at /home/badis/Desktop/react-native/albums/node modules/graceful-fs/polyfills.js:285:20
   at FSReqWrap.oncomplete (fs.js:154:5)

我知道这与没有足够的空间让守望者监视所有文件更改有关。

我想知道在这里采取的最佳行动是什么?

我应该忽略node_modules文件夹添加到.watchmanconfig ?


当前回答

我在linuxmint发行版上遇到了这个问题。当我在应用程序的/public文件夹中添加了很多文件夹和子文件夹/文件时,似乎就发生了这种情况。 我应用了这个修复,它工作得很好…

$ echo fs.inotify。Max_user_watches =524288 | sudo tee -a /etc/sysctl.conf . a

更改目录到/etc文件夹: cd /等

然后运行这个: Sudo systcl -p

你可能需要关闭你的终端,重新启动npm才能让它工作。

如果失败了,我建议全局安装react-scripts并直接运行你的应用程序。

$ NPM I -g保存反应脚本

然后不是NPM start run,而是脚本开始运行你的应用程序。

其他回答

我使用ubuntu 20服务器,我添加在文件:/etc/sysctl.conf下面一行

fs.inotify.max_user_watches = 524288

保存后执行sudo sysctl -p命令

在那之后,一切都很好!

请参考此链接[1]。Visual Studio代码中提到了对此错误消息的简要解释。我也遇到了同样的错误。在相关文件中添加以下参数将修复此问题。

 fs.inotify.max_user_watches=524288

[1] https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-wor kspace-error-enospc

对于vs代码,请参阅此处的详细说明: https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc

如果你已经添加了2个修复:fs.inotify.max_user_watches=524288

重启机器,一切都会恢复正常的 将引起问题的文件夹(对我来说是node_modules)重命名为任意名称(node_modilesa),然后重新命名。这将删除linux放在这些文件夹上的手表。允许您再次正常编码。

删除react node_modules

rm -r node_modules

yarn or npm install

yarn start or npm start

如果发生错误,请再次使用此方法