升级Expo SDK 52遇JavaScript堆内存不足安装失败求助
升级Expo SDK 52时遭遇JavaScript堆内存不足错误
问题详情
执行yarn expo install expo@latest命令升级Expo SDK至52版本时,终端抛出内存溢出错误,完整错误日志如下:
<--- Last few GCs ---> [23168:0000019862F52000] 51986 ms: Scavenge (interleaved) 2043.5 (2083.7) -> 2042.9 (2088.2) MB, pooled: 0 MB, 8.27 / 0.00 ms (average mu = 0.153, current mu = 0.146) allocation failure; [23168:0000019862F52000] 52348 ms: Mark-Compact (reduce) 2046.1 (2088.2) -> 2044.8 (2083.0) MB, pooled: 0 MB, 257.83 / 0.00 ms (+ 0.8 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 276 ms) (average mu = 0.21 <--- JS stacktrace ---> FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory ----- Native stack trace ----- 1: 00007FF7496DBD7B node::SetCppgcReference+16011 2: 00007FF749644BC8 DSA_meth_get_flags+92344 3: 00007FF74A1D2C31 v8::Isolate::ReportExternalAllocationLimitReached+65 4: 00007FF74A1BFA36 v8::Function::Experimental_IsNopFunction+2918 5: 00007FF74A00B6E0 v8::internal::StrongRootAllocatorBase::StrongRootAllocatorBase+31552 6: 00007FF74A0053AD v8::internal::StrongRootAllocatorBase::StrongRootAllocatorBase+6157 7: 00007FF74A000C45 v8::internal::ThreadIsolation::JitPageReference::Size+190789 8: 00007FF74997A2DD BIO_ssl_shutdown+189 Cannot install the latest Expo package. Install expo@latest with yarn and then run npx expo install again.
环境信息
- Node.js版本:20.11.0
- 当前Expo SDK版本:51
可行解决步骤
- 临时提升Node内存限制:执行命令时增加内存参数,指定更大的堆内存(示例为4GB,可根据机器配置调整为8192即8GB)
NODE_OPTIONS="--max-old-space-size=4096" yarn expo install expo@latest - 拆分安装步骤:先单独安装expo最新版,再执行依赖同步
安装完成后运行:NODE_OPTIONS="--max-old-space-size=4096" yarn add expo@latestnpx expo install - 清理缓存后重试:清除yarn缓存避免冗余数据占用内存
yarn cache clean NODE_OPTIONS="--max-old-space-size=4096" yarn expo install expo@latest
内容的提问来源于stack exchange,提问作者john
相关产品推荐
相关产品推荐

