致命错误:使用任何“npm”命令时JavaScript堆内存不足

yebdmbv4  于 2022-11-14  发布在  Java
关注(0)|答案(4)|浏览(490)

我遇到错误(致命错误:标记压缩收集器:半空间复制,回退到旧代分配失败- JavaScript堆内存不足)。即使运行“npm -v”也会出错。
我也经历了线程-(npm install - javascript heap out of memory),但这对我的情况没有帮助。
胎儿错误

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed 
    - 
    JavaScript heap out of memory
    1: 000000013F56F04A 
       v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+5114
    2: 000000013F54A0C6 node::MakeCallback+4518
    3: 000000013F54AA30 node_module_register+2032
    4: 000000013F7D20EE v8::internal::FatalProcessOutOfMemory+846
    5: 000000013F7D201F v8::internal::FatalProcessOutOfMemory+639

    6: 000000013FCF2BC4 v8::internal::Heap::MaxHeapGrowingFactor+9556

     7: 000000013FCE9C46 v8::internal::ScavengeJob::operator=+24310
     8: 000000013FCE829C v8::internal::ScavengeJob::operator=+17740
     9: 000000013FCEE1B7 v8::internal::Heap::CreateFillerObjectAt+1175
    10: 000000013FB7C5B3 
    v8::internal::interpreter::Interpreter::GetDispatchCounters
    Object+78451
    11: 000000013F4D1132 
        v8::internal::StackGuard::ArchiveSpacePerThread+52082
    12: 000000013F4D17F3 
        v8::internal::StackGuard::ArchiveSpacePerThread+53811
    13: 000000013F5B1474 uv_dlerror+2436
    14: 000000013F5B21D8 uv_run+232

15: 000000013F55128E node::NewContext+1390
16: 000000013F55189B node::NewIsolate+603
17: 000000013F551D07 node::Start+839
18: 000000013F40935C node::MultiIsolatePlatform::MultiIsolatePlatform+604
19: 000000013FFAA93C 
   v8::internal::compiler::OperationTyper::ToBoolean+134796
20: 0000000076D3555D BaseThreadInitThunk+13
21: 0000000076F9385D RtlUserThreadStart+29

<--- Last few GCs --->

[13304:0000000000182610]   135335 ms: Mark-sweep 1396.6 (1426.7) -> 1396.6 (1424
.7) MB, 2368.0 / 0.0 ms  (+ 0.0 ms in 1 steps since start of marking, biggest st
ep 0.0 ms, walltime since start of marking 2368 ms) (average mu = 0.099, current
 mu = 0.035) fi[13304:0000000000182610]   135404 ms: Scavenge 1397.6 (1424.7) ->
 1397.1 (1428.2) MB, 3.7 / 0.0 ms  (average mu = 0.099, current mu = 0.035) allo
cation failure

<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - 
JavaS
cript heap out of memory
 1: 000000013FD7F04A v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+5114
 2: 000000013FD5A0C6 node::MakeCallback+4518
 3: 000000013FD5AA30 node_module_register+2032
 4: 000000013FFE20EE v8::internal::FatalProcessOutOfMemory+846
 5: 000000013FFE201F v8::internal::FatalProcessOutOfMemory+639
 6: 0000000140502BC4 v8::internal::Heap::MaxHeapGrowingFactor+9556
 7: 00000001404F9C46 v8::internal::ScavengeJob::operator=+24310
 8: 00000001404F829C v8::internal::ScavengeJob::operator=+17740
 9: 00000001404FE1B7 v8::internal::Heap::CreateFillerObjectAt+1175
10: 000000014038C5B3 
    v8::internal::interpreter::Interpreter::GetDispatchCounters
    Object+78451
11: 000000013FCE1132 v8::internal::StackGuard::ArchiveSpacePerThread+52082
12: 000000013FCE17F3 v8::internal::StackGuard::ArchiveSpacePerThread+53811
13: 000000013FDC1474 uv_dlerror+2436
14: 000000013FDC21D8 uv_run+232
15: 000000013FD6128E node::NewContext+1390
16: 000000013FD6189B node::NewIsolate+603
17: 000000013FD61D07 node::Start+839
18: 000000013FC1935C node::MultiIsolatePlatform::MultiIsolatePlatform+604
19: 00000001407BA93C 
   v8::internal::compiler::OperationTyper::ToBoolean+134796
20: 0000000076D3555D BaseThreadInitThunk+13
21: 0000000076F9385D RtlUserThreadStart+29
bgtovc5b

bgtovc5b1#

您需要提高节点允许的内存量。
您可以通过以下方式在全局范围内执行此操作:
1.打开cmd窗口
1.运行setx NODE_OPTIONS --max_old_space_size=10240
1.关闭所有cmd/代码编辑器
1.重新打开cmd并再次运行node命令(npm等)

6rqinv9w

6rqinv9w2#

我也遇到了同样的问题,我花了很长时间才弄清楚到底发生了什么。如果npm -v在你身上失败了,那么你的问题不是内存不足引起的,而是.npmrc文件中的错误设置。在我的例子中,我从旧机器上复制了.npmrc,我重新定义了prefixcache的设置:

prefix=D:\npm-projects\npm
cache=D:\npm-projects\npm-cache

在我的新机器上,我只有C:\驱动器,因此npm在处理这些设置时会发疯。当我将所有内容都更改为指向C:\npm-projects\xxxx时,问题就消失了。

juud5qan

juud5qan3#

我有完全相同的问题,它花了很多时间来找出发生了什么事...所以这里是解决方案,什么工程对我来说
在您的package.json内部脚本中,只需添加行**“start”:“craco --最大旧空间大小=7096开始”,**

a11xaf1n

a11xaf1n4#

我也遇到了同样的问题,花了很多时间才弄清楚发生了什么......所以这里有一个适合我的解决方案。
您只需从起点开始在packagr-lock.json中添加此行即可。

"start": "craco --max_old_space_size=7096 start"

相关问题