首页 > 解决方案 > 使用 Node Build 'ng build' 耗尽内存 - Angular App

问题描述

我正在尝试使用“ng build”构建我的角度应用程序。它失败了,因为根据我的研究推测,它的构建内存不足。我已经尝试了几种解决方案,但都没有运气。从 VSC 终端或 DOS 行输入“​​ng build”后,它会在此步骤中运行大约 3 分钟:

Generating ES5 bundles for differential loading...

然后它失败,将此错误写入我的 angular-errors.log 文件:

[error] Error: Call retries were exceeded
    at ChildProcessWorker.initialize (c:\development\gems\Frontend_Serenity_A9_SLIM\Frontend_Serenity_A9\node_modules\jest-worker\build\workers\ChildProcessWorker.js:193:21)
    at ChildProcessWorker.onExit (c:\development\gems\Frontend_Serenity_A9_SLIM\Frontend_Serenity_A9\node_modules\jest-worker\build\workers\ChildProcessWorker.js:263:12)
    at ChildProcess.emit (events.js:203:13)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)

正如一些文章/堆栈溢出所表明的那样,我已经尝试增加我的内存。我试过这个:

npm install -g increase-memory-limit

然后在我的角度项目的根目录下运行这个命令:

increase-memory-limit

无济于事。使用 es5 而不是 es2015 不是我们应用程序的解决方案。非常感谢您提供的任何帮助或想法。我已经尝试了一周的一切,但仍然卡住了。谢谢!

package.json 内容:

{
  "name": "serenity",
  "version": "9.0.0",
  "license": "PrimeNG Commercial",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "9.0.4",
    "@angular/cdk": "9.1.0",
    "@angular/common": "9.0.4",
    "@angular/compiler": "9.0.4",
    "@angular/core": "9.0.4",
    "@angular/forms": "9.0.4",
    "@angular/material": "^9.1.0",
    "@angular/platform-browser": "9.0.4",
    "@angular/platform-browser-dynamic": "9.0.4",
    "@angular/router": "9.0.4",
    "@aspnet/signalr": "^1.1.4",
    "@fullcalendar/core": "4.0.2",
    "@fullcalendar/daygrid": "4.0.1",
    "@fullcalendar/interaction": "4.0.2",
    "@fullcalendar/timegrid": "4.0.1",
    "@handsontable/angular": "^5.1.1",
    "@mdi/svg": "^5.3.45",
    "@types/leaflet-draw": "^1.0.2",
    "@types/plotly.js": "^1.50.12",
    "chart.js": "2.7.3",
    "d3": "^5.16.0",
    "font-awesome": "4.7.0",
    "handsontable": "^7.4.2",
    "intl": "1.2.5",
    "leaflet": "^1.6.0",
    "leaflet-draw": "^1.0.4",
    "leaflet-sidebar-v2": "^3.2.2",
    "leaflet.control.layers.tree": "^1.0.0",
    "leaflet.glify": "^3.0.0",
    "material-design-icons": "^3.0.1",
    "plotly.js-dist": "^1.54.1",
    "primeflex": "1.0.0",
    "primeng": "9.0.1",
    "prismjs": "1.15.0",
    "quill": "1.1.8",
    "rxjs": "6.5.4",
    "three": "^0.117.1",
    "web-animations-js": "github:angular/web-animations-js#release_pr208",
    "xlsx": "^0.16.2",
    "zone.js": "0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "0.900.4",
    "@angular/cli": "9.0.4",
    "@angular/compiler-cli": "9.0.4",
    "@angular/language-service": "9.0.4",
    "@types/jasmine": "3.5.7",
    "@types/jasminewd2": "2.0.8",
    "@types/leaflet": "^1.5.17",
    "@types/node": "12.12.29",
    "codelyzer": "5.2.1",
    "jasmine-core": "3.5.0",
    "jasmine-spec-reporter": "4.2.1",
    "karma": "4.3.0",
    "karma-chrome-launcher": "3.1.0",
    "karma-coverage-istanbul-reporter": "2.1.1",
    "karma-jasmine": "2.0.1",
    "karma-jasmine-html-reporter": "1.5.2",
    "protractor": "5.4.3",
    "ts-node": "8.3.0",
    "tslint": "5.18.0",
    "typescript": "3.7.5"
  }
}

标签: node.jsangularnpm

解决方案


是的,这是一个内存问题,我很难让节点在构建我的项目之前更改内存限制。我能够让它分配 3 个演出,然后它工作得很好。


推荐阅读