【问题标题】:Angular Production Build is taking about 1.5 GB of memory and still runs Out Of MemoryAngular Production Build 占用了大约 1.5 GB 的内存,但内存仍然不足
【发布时间】:2017-08-03 05:25:30
【问题描述】:

Angular2 cli 项目生产构建 [ng build -prod] 被击中 92% 并收到诸如堆内存不足之类的错误消息。有什么解决办法吗? 项目由大量组件组成。 正常构建工作正常[ng build]

Screenshot

谢谢

【问题讨论】:

  • 谢谢,已经尝试过相同的命令,但它对我不起作用。
  • 你做错了什么。它应该工作
  • 尝试:node --max_old_space_size=4096 node_modules/webpack/bin/webpack.js
  • @SandipPatel 出现错误:找不到配置文件,也没有通过 CLI 选项配置的输出文件名。配置文件可以在当前目录中命名为“webpack.config.js”。使用 --help 显示 CLI 选项。

标签: angular angular-cli angular2-cli


【解决方案1】:

今天只有一种解决方法。

打开./node_modules/.bin/ng.cmd并添加--max_old_space_size选项

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe" --max_old_space_size=8192 "%~dp0\..\@angular\cli\bin\ng" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node  --max_old_space_size=8192  "%~dp0\..\@angular\cli\bin\ng" %*
)

或者你可以升级你的电脑:)

github上的相关问题

【讨论】:

  • 谢谢 yurzui,但是 node_modules 文件夹是动态创建文件吗?当我们运行 npm install 时,设置“max_old_space_size”可能在我们的系统中可以工作,但是很多人一起工作,这不能通过在每台机器上设置内存大小来解决吗?有什么快速的解决方案可以将它添加到 package.json 文件中吗?所以它将在所有机器上运行和执行。
  • 在 8 GB RAM 上运行 :)
【解决方案2】:

如果您使用的节点版本 >= 8,则可以使用Node.js heap out of memory 中发布的解决方案:

在您的 package.json 文件中,将 ng build xxx 替换为 node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build xxx

值 8192 是以 MB 为单位的空间,节点和角度也将被允许使用

【讨论】:

    【解决方案3】:

    请检查 Angular CLI 的版本,如果它的 1.2.6 将其降级为 1.2.1。它会起作用的。 我也有同样的问题并通过这种方式解决。 注意:这只是一个临时修复。 希望cli团队尽快解决问题。

    【讨论】:

    • 出现类似错误:./src/main.ts 中的错误模块未找到:错误:无法解析 'D: 中的 './$$_gendir/app/app.module.ngfactory' \projectpath\src' @ ./src/main.ts 3:0-74 @ multi ./src/main.ts
    猜你喜欢
    • 1970-01-01
    • 2016-08-13
    • 2011-03-27
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多