You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下React项目启动遇ENOSPC错误:已设max_user_watches仍报错

解决Ubuntu 18.04.3 LTS中npm serve启动时的ENOSPC错误

我之前在Ubuntu环境下也碰到过一模一样的问题,虽然修改fs.inotify.max_user_watches是常见方案,但有时候光改这个还不够,试试下面这些步骤:

1. 确认sysctl配置是否生效

你已经在/etc/sysctl.conf添加了fs.inotify.max_user_watches=524288,但首先得确保这个配置已经加载:

  • 执行命令加载配置:
    sudo sysctl -p
    
  • 验证当前值是否正确:
    cat /proc/sys/fs/inotify/max_user_watches
    

如果输出不是524288,检查一下/etc/sysctl.conf是否保存正确,或者有没有拼写错误。

2. 补充其他inotify相关限制

除了文件监视器数量,还有两个参数也可能导致这个错误,把它们也加到/etc/sysctl.conf末尾:

fs.inotify.max_user_instances=512
fs.inotify.max_queued_events=16384

添加后再次执行sudo sysctl -p加载配置。

3. 检查占用inotify资源的进程

有时候是其他程序(比如IDE、文件同步工具、备份软件)占用了大量监视器,导致npm没法申请到足够的资源:

  • 查看当前所有使用inotify的进程:
    find /proc/*/fd -lname anon_inode:inotify | cut -d/ -f3 | xargs -I '{}' cat /proc/'{}'/status | grep -E '^Name:\|^Pid:'
    

找到那些占用资源多的进程,暂时关闭它们,再尝试启动项目。

4. 清除npm缓存并重装依赖

有时候npm缓存或依赖损坏也会触发奇怪的错误:

  • 清除缓存:
    npm cache clean --force
    
  • 删除node_modules目录和package-lock.json:
    rm -rf node_modules package-lock.json
    
  • 重新安装依赖:
    npm install
    

然后再用npm serve启动项目。

5. 尝试调大监视器数量或重启系统

如果上面的步骤都没用,可以试试把fs.inotify.max_user_watches调得更大,比如改成1048576,加载配置后重启电脑(确保所有进程都重新读取了配置),再启动项目。

内容的提问来源于stack exchange,提问作者Proteeti Prova

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 09:07:46