Emm*_*N K 261
对于那些从谷歌登陆这个问题的人的非角度一般答案:
每次遇到此错误时,可能是因为内存泄漏或 Node <= 10 和 Node > 10 管理内存的方式不同。通常只是增加分配给 Node 的内存将允许您的程序运行,但实际上可能无法解决真正的问题,并且节点进程使用的内存仍然可能超过您分配的新内存。我建议在节点进程开始运行或更新到节点 > 10 时分析它的内存使用情况。
我有内存泄漏。这是一篇关于在 node.js 中调试内存泄漏的好文章。
也就是说,要增加内存,请在运行 Node 进程的终端中:
export NODE_OPTIONS="--max-old-space-size=8192"
Run Code Online (Sandbox Code Playgroud)
其中的值max-old-space-size可以是:[2048, 4096, 8192, 16384]等
[更新]更多示例以进一步清晰:
export NODE_OPTIONS="--max-old-space-size=8192"
Run Code Online (Sandbox Code Playgroud)
小智 82
在我的情况下,解决这个问题安装 NodeJs,版本 12.10.0
小智 45
视窗
\n从控制面板转到系统\xe2\x86\x92高级系统设置\xe2\x86\x92环境变量\xe2\x86\x92新建(用户或系统)
\n\n或者可以在 PowerShell 中使用以下命令完成此操作:
\n$env:NODE_OPTIONS="--max-old-space-size=8192"\nRun Code Online (Sandbox Code Playgroud)\n如有必要,您还可以增加此数字。我们已经看到,对于一些较大的项目,人们需要将其增加到 14\xc2\xa0GB!
\nLinux/macOS
\nexport NODE_OPTIONS=--max-old-space-size=8192\nRun Code Online (Sandbox Code Playgroud)\n
小智 35
我ng build在 Visual Studio 代码中执行命令时遇到了同样的错误。但是当我按以下顺序在 Windows 命令行中执行相同的操作时,我可以成功构建。
第1步。
set NODE_OPTIONS=--max_old_space_size=4096
Run Code Online (Sandbox Code Playgroud)
第2步。
ng build
Run Code Online (Sandbox Code Playgroud)
Mat*_*att 35
只需在终端中输入:
export NODE_OPTIONS="--max-old-space-size=8192"
Run Code Online (Sandbox Code Playgroud)
编辑:
当您超出节点允许的默认最大内存时,会发生错误。所有这些都是增加允许的最大内存。
小智 27
在centos服务器7上出现相同的问题,但这解决了我的问题:
node --max-old-space-size=X node_modules/@angular/cli/bin/ng build --prod
Run Code Online (Sandbox Code Playgroud)
X = (2048 or 4096 or 8192 o..)记忆的价值在哪里
run*_*aul 15
试试这个在论坛上的旧消息中指出的解决方案:https://forum.ionicframework.com/t/3-7-0-ios-build-with-prod-not-working/107061/24
打开 node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js
更改第一行:
#!/usr/bin/env node
Run Code Online (Sandbox Code Playgroud)
至
#!/usr/bin/env node --max-old-space-size=4096
Run Code Online (Sandbox Code Playgroud)
尝试值1024和2048,但对于相对较大的应用程序,您可能需要4096.
hei*_*els 13
我在 Visual Studio 代码中执行以下语句时收到相同的错误消息。但是当我在 Windows 命令行中执行相同的事情时,我可以成功构建。
npm install -g increase-memory-limit
increase-memory-limit
set NODE_OPTIONS=--max_old_space_size=4096
ng build -c deploy --build-optimizer --aot --prod --sourceMap
Run Code Online (Sandbox Code Playgroud)
Rus*_*ust 11
在我的情况下,这是导致反应耗尽所有内存的递归。
这发生在我重构我的代码并且没有注意到这一点时。
const SumComponent = () => {
return (
<>
<SumComponent />
</>
)
}
Run Code Online (Sandbox Code Playgroud)
在其他节点应用程序中,这可能如下所示:
const someFunction = () => {
...
someFunction();
...
}
Run Code Online (Sandbox Code Playgroud)
小智 11
--------如果未解决,请尝试第二步------------- 2) 只需将节点版本更新到最新版本即可解决此问题。
--------如果未解决,请尝试第三步------------- 3)只需在 Windows 终端中运行此命令。
set NODE_OPTIONS=--max_old_space_size=4096
Hak*_*tık 10
从 Node 12 更新到 Node 14 为我解决了这个问题。
小智 9
由于某些原因,上面的所有答案对我都不起作用,我做了以下工作来解决我的问题:
node_modules文件夹npm installnode --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --prod --build-optimizer
添加参数--build-optimizer 解决了我的问题。
更新:
我不确定为什么只添加 --build-optimizer 解决了这个问题,但根据角度文档,它应该在启用 aot 的情况下使用,所以更新的命令应该如下所示
--build-optimizer=true --aot=true
Run Code Online (Sandbox Code Playgroud)
更换线路
"start": "ng serve -o --port 4300 --configuration=en" 和
"start": "node --max_old_space_size=5096 node_modules/@angular/cli/bin/ng serve -o --port 4300 --configuration=en"
笔记:
端口--4300 不是常数取决于您选择的端口。
--max_old_space_size=5096 太不恒定;任何值 1024,2048,4096 等
小智 6
我在 Angular 上也遇到了同样的问题。然后我写了
"serve": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng serve"
Run Code Online (Sandbox Code Playgroud)
这个脚本到package.json脚本对我来说这个问题解决了。
并运行项目此命令:
npm run serve
Run Code Online (Sandbox Code Playgroud)
运行这个命令:
export NODE_OPTIONS="--max-old-space-size=2048"
Run Code Online (Sandbox Code Playgroud)
要检查您已经有多少:
> node
> v8.getHeapStatistics()
{
total_heap_size: 6049792,
total_heap_size_executable: 524288,
total_physical_size: 5477720,
total_available_size: 1094444024,
used_heap_size: 4141728,
heap_size_limit: 1098907648,
malloced_memory: 8192,
peak_malloced_memory: 582752,
does_zap_garbage: 0,
number_of_native_contexts: 2,
number_of_detached_contexts: 0
}
Run Code Online (Sandbox Code Playgroud)
进而heap_size_limit: 1098907648
小智 5
node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --baseHref=/baseUrl/ --prod=true
Run Code Online (Sandbox Code Playgroud)
在您的项目文件夹中运行此命令。使用服务而不是构建
node --max_old_space_size=8000 node_modules/@angular/cli/bin/ng serve --prod --port=4202
Run Code Online (Sandbox Code Playgroud)
ng build我没有使用,而是在终端中执行以下命令来解决此问题。
node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod
Run Code Online (Sandbox Code Playgroud)
然后做ng serve。
这就是我的终端的样子
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS D:\ProjectPath\Project1> node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38963 次 |
| 最近记录: |