egret编译 FATAL ERROR: CALL_AND_RETRY_0 Allocation failed process out of memory解决

时间:2021-12-08 18:56:14
egret 白鹭编译时异常提示: FATAL ERROR: CALL_AND_RETRY_0 Allocation failed process out of memory.
 编译时内存溢出, 因为白鹭编译时使用的自带的32位nodejs, 可换自己安装的64位的nodejs.
解决方法:
1.安装个64位的nodejs, 如果安装在D:\Program Files\nodejs
2.修改C:\Users\登录用户名\AppData\Roaming\npm\egret.cmd文件, 设置路径为我们安装的64位nodejs
@SET NODE64=D:\Program Files\nodejs
@IF EXIST "%~dp0node_modules\egret\EgretEngine" (
FOR /F "usebackq delims=" %%a in ("%~dp0node_modules\egret\EgretEngine") do @(set EGRET=%%a)
) ELSE (
set EGRET=%~dp0node_modules
) @IF EXIST "%NODE64%\node.exe" (
"%NODE64%\node.exe" --max-old-space-size=4000 "%EGRET%\selector.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node --max-old-space-size=4000 "%EGRET%\selector.js" %*
)

  

2019.04.26更新:

从官方下载最新的egret,上面改动后面编译后还使用32位的nodejs编译, 将引擎目录下面的nodejs替换掉就好了。

使用自己安装在d盘的,D:\Program Files\nodejs目录下在的node.exe与D:\Program Files\nodejs\node_modules\npm文件夹

替换掉C:\Program Files (x86)\Egret\EgretLauncher\resources\app\engine\win目录下面的node.exe与npm文件夹