纱线安装死了 JavaScript 堆内存不足
Yarn install dead with JavaScript heap out of memory
我曾经有一个功能齐全的 yarn 安装,在我的公司代理上一切正常。但 5 周后我让它腐烂,突然间它不再工作了。
当我 运行 一个简单的 yarn install
时,它在那里停留了大约 2 分钟,然后就死了。它的输出:
yarn install v1.22.4
<--- Last few GCs --->
[1464:0000000000441F90] 104273 ms: Scavenge 1396.5 (1425.7) -> 1395.7 (1426.2) MB, 4.5 / 0.0 ms (average mu = 0.147, current mu = 0.083) allocation failure
[1464:0000000000441F90] 104362 ms: Scavenge 1396.9 (1426.2) -> 1396.2 (1427.2) MB, 5.5 / 0.0 ms (average mu = 0.147, current mu = 0.083) allocation failure
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 000000013F3FDD8A v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4506
2: 000000013F3D8886 node::MakeCallback+4534
3: 000000013F3D9200 node_module_register+2032
4: 000000013F6F30DE v8::internal::FatalProcessOutOfMemory+846
5: 000000013F6F300F v8::internal::FatalProcessOutOfMemory+639
6: 000000013F8D9804 v8::internal::Heap::MaxHeapGrowingFactor+9620
7: 000000013F8D07E6 v8::internal::ScavengeJob::operator=+24550
8: 000000013F8CEE3C v8::internal::ScavengeJob::operator=+17980
9: 000000013F8D4D87 v8::internal::Heap::CreateFillerObjectAt+1175
10: 000000013FC727D3 v8::internal::NativesCollection<0>::GetScriptsSource+547
11: 000000013F35FD92 v8::internal::StackGuard::ArchiveSpacePerThread+52242
12: 000000013F360453 v8::internal::StackGuard::ArchiveSpacePerThread+53971
13: 000000013F441614 uv_dlerror+2452
14: 000000013F4423E8 uv_run+232
15: 000000013F3DFE7E node::NewContext+1390
16: 000000013F3E048B node::NewIsolate+603
17: 000000013F3E08E7 node::Start+823
18: 000000013F28F3CC node::MultiIsolatePlatform::MultiIsolatePlatform+604
19: 000000013FED863C v8::internal::compiler::OperationTyper::ToBoolean+129516
20: 0000000077B6556D BaseThreadInitThunk+13
21: 0000000077CC372D RtlUserThreadStart+29
过了一会儿我找到了罪魁祸首:在 .yarnrc
我有一个无效的 cache-folder
设置:
cache-folder "L:\yarn-cache"
那么它怎么可能曾经有效,但现在却无效了?
当我的公司正在为社会隔离而设置时,我决定在 L:
.
现在我正在远程访问桌面,而 pendrive 不在那里。
我只希望 yarn 能失败并出现更好的消息错误。
我曾经有一个功能齐全的 yarn 安装,在我的公司代理上一切正常。但 5 周后我让它腐烂,突然间它不再工作了。
当我 运行 一个简单的 yarn install
时,它在那里停留了大约 2 分钟,然后就死了。它的输出:
yarn install v1.22.4
<--- Last few GCs --->
[1464:0000000000441F90] 104273 ms: Scavenge 1396.5 (1425.7) -> 1395.7 (1426.2) MB, 4.5 / 0.0 ms (average mu = 0.147, current mu = 0.083) allocation failure
[1464:0000000000441F90] 104362 ms: Scavenge 1396.9 (1426.2) -> 1396.2 (1427.2) MB, 5.5 / 0.0 ms (average mu = 0.147, current mu = 0.083) allocation failure
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 000000013F3FDD8A v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4506
2: 000000013F3D8886 node::MakeCallback+4534
3: 000000013F3D9200 node_module_register+2032
4: 000000013F6F30DE v8::internal::FatalProcessOutOfMemory+846
5: 000000013F6F300F v8::internal::FatalProcessOutOfMemory+639
6: 000000013F8D9804 v8::internal::Heap::MaxHeapGrowingFactor+9620
7: 000000013F8D07E6 v8::internal::ScavengeJob::operator=+24550
8: 000000013F8CEE3C v8::internal::ScavengeJob::operator=+17980
9: 000000013F8D4D87 v8::internal::Heap::CreateFillerObjectAt+1175
10: 000000013FC727D3 v8::internal::NativesCollection<0>::GetScriptsSource+547
11: 000000013F35FD92 v8::internal::StackGuard::ArchiveSpacePerThread+52242
12: 000000013F360453 v8::internal::StackGuard::ArchiveSpacePerThread+53971
13: 000000013F441614 uv_dlerror+2452
14: 000000013F4423E8 uv_run+232
15: 000000013F3DFE7E node::NewContext+1390
16: 000000013F3E048B node::NewIsolate+603
17: 000000013F3E08E7 node::Start+823
18: 000000013F28F3CC node::MultiIsolatePlatform::MultiIsolatePlatform+604
19: 000000013FED863C v8::internal::compiler::OperationTyper::ToBoolean+129516
20: 0000000077B6556D BaseThreadInitThunk+13
21: 0000000077CC372D RtlUserThreadStart+29
过了一会儿我找到了罪魁祸首:在 .yarnrc
我有一个无效的 cache-folder
设置:
cache-folder "L:\yarn-cache"
那么它怎么可能曾经有效,但现在却无效了?
当我的公司正在为社会隔离而设置时,我决定在 L:
.
现在我正在远程访问桌面,而 pendrive 不在那里。
我只希望 yarn 能失败并出现更好的消息错误。