egret编译 FATAL ERROR: CALL_AND_RETRY_0 Allocation failed process out of memory解决
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文件夹