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

Next.js应用创建失败:errno:-4066错误求助

解决Next.js创建时EMFILE: too many open files错误

问题说明

执行npx create-next-app创建项目(命名为form,选择TypeScript、ESLint、src/目录、实验性app/目录、导入别名等选项),依赖安装完成后,初始化模板时触发以下错误:

[Error: EMFILE: too many open files, open 'C:\Marcin\coding\Projekt16\form\node_modules\next\dist\compiled\is-docker\package.json'] {
errno: -4066,
code: 'EMFILE',
syscall: 'open',
path: 'C:\Marcin\coding\Projekt16\form\node_modules\next\dist\compiled\is-docker\package.json'
}

注:最初执行npx create-next-app @latest报错是因为@latest被识别为项目名称,违反npm命名规则,正确调用最新版脚手架的命令应为npx create-next-app@latest(无空格),此为次要问题。

解决步骤

针对Windows 10 + Node.js 18.13环境,按以下方案尝试:

1. 调整Windows文件句柄上限

Windows默认进程文件句柄配额较低,可通过注册表修改:

  • 按下Win+R输入regedit打开注册表编辑器
  • 导航至HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
  • 找到Windows键,双击进入编辑字符串界面
  • 修改SharedSection参数的第三个数值(默认多为512)为更大值,例如4096
    示例修改后:SharedSection=1024,20480,4096
  • 保存后重启电脑生效

2. 清理缓存并重新创建项目

  • 删除已生成的form文件夹
  • 执行命令清理npm缓存:npm cache clean --force
  • 用命令行参数直接指定配置创建项目,跳过交互式步骤:
    npx create-next-app@latest form --typescript --eslint --src-dir --app --import-alias "@/*"
    

3. 升级Node.js版本

Node.js 18.13属于较旧的18.x分支,后续版本修复了Windows平台下多个文件句柄相关问题,建议升级至18.x最新稳定版或20.x LTS版本:

  • 卸载当前Node.js,从官方渠道下载对应版本安装
  • 验证版本:node -v

4. 关闭后台占用进程

  • 打开任务管理器,关闭不必要的后台程序(如杀毒软件、文件同步工具等),此类程序可能占用大量文件句柄
  • 确保无其他进程正在访问项目目录文件

验证

完成上述操作后,重新执行项目创建命令,确认模板初始化是否顺利完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:45:52