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

Windows环境下运行ng serve时JavaScript堆内存溢出问题求助

解决Windows下Angular项目ng serve JavaScript堆内存溢出问题
  • 直接带内存参数运行命令
    系统环境变量里的--max-old-space-size在Windows下可能不会被Angular CLI读取到,直接在命令行执行带参数的启动命令:
    node --max-old-space-size=8192 node_modules/@angular/cli/bin/ng serve
    这里把内存上限调到8G(可根据物理内存调整,比如16G内存可设为12288),适配大型模板的编译需求。

  • 修改package.json启动脚本
    为避免每次输入长命令,直接修改项目根目录的package.json:
    找到scripts字段下的serve(或start),改成:

    "serve": "node --max-old-space-size=8192 node_modules/@angular/cli/bin/ng serve"
    

    之后运行npm run serve就会自动应用内存参数。

  • 清理缓存后重新安装依赖
    缓存或损坏的依赖可能加剧内存占用问题,执行以下步骤:

    1. 删除项目根目录的node_modules文件夹和package-lock.json文件
    2. 执行npm cache clean --force清理npm缓存
    3. 重新运行npm install
    4. 再用修改后的启动命令运行项目
  • 检查Windows虚拟内存设置
    Windows虚拟内存不足也可能导致堆溢出,调整虚拟内存:
    右键「此电脑」→ 属性 → 高级系统设置 → 高级 → 性能「设置」→ 高级 → 虚拟内存「更改」
    勾选「自动管理所有驱动器的分页文件大小」,或者手动设置更大的分页文件(建议设为物理内存的1.5-2倍)。

  • 匹配Angular CLI与Node.js版本
    确认模板package.json中指定的@angular/cli版本和当前Node.js版本兼容:

    • Node.js 16.x 适配 Angular CLI 14.x 及部分15.x版本
    • Node.js 18.x 适配 Angular CLI 15.x 及以上版本
      如果版本不匹配,卸载全局CLI后安装模板指定版本:
      npm uninstall -g @angular/cli && npm install -g @angular/cli@<模板指定版本号>

Mac系统能正常运行是因为内存管理机制和Windows不同,相同内存配置下Mac的内存利用率更高,且默认虚拟内存配置更宽松。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 19:00:53