node.js - 使用 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"
}
}
解决方案
是的,这是一个内存问题,我很难让节点在构建我的项目之前更改内存限制。我能够让它分配 3 个演出,然后它工作得很好。
推荐阅读
- php - 如果我的数据库为空,则显示警告
- php - 很少有表单值没有通过 $_POST 获取
- android - 共享按钮不与 facebook 一起运行(文本为空)
- sql - 无法确定“ORA-00906:缺少左括号”的原因
- php - Php Mail 未从我的服务器发送
- ios - Unity iOS 构建最佳实践
- java - 以编程方式启动 Appium 服务器
- python-3.x - ElasticSearch查询传递python动态变量
- java - Java Spring 将电子邮件 cookie 减半
- c# - PUT 方法可以插入、删除。那么为什么我们必须使用 POST 方法而不是 PUT/DELETE/GET 方法