2***@qq.com
2***@qq.com
  • 发布:2019-03-29 17:28
  • 更新:2023-03-17 17:24
  • 阅读:8592

HBuilderX如何调整node运行内存

分类:HBuilderX

近期新项目在运行时频繁出现问题:
17:09:33.985 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
17:09:34.095 1: node_module_register
17:09:34.095 2: v8::internal::Factory::NewTwoByteInternalizedString
17:09:34.098 3: v8::internal::wasm::AnalyzeLoopAssignmentForTesting
17:09:34.098 4: v8::internal::StringTable::LookupString

经过排查,发现只要删除掉一部分page就可以正常运行,我建立了24个页面,10个左右目录来存储

整改后变成24个页面,5个目录,也就是说我把一部分页面合并到一个目录里了

等我把pages.json的路径也更改正确后,又报这个错误,经过删减不断测试,删到整个app只有19个page时就恢复了正常

网上查到的错误是内存溢出,我找到了HBuilderX的安装目录,把webpack的max-old-size改成了最大,依然没有效果

我认为是页面太多导致打包失败的,但网上的解决方案都是vue的,uniapp深度封装的配置文件不知道在哪里可以修改到运行内存

2019-03-29 17:28 负责人:无 分享
已邀请:

最佳回复

DCloud_HB_WDL

DCloud_HB_WDL

本方法仅适用于2021年的HBuilderX版本,已不适合当前。


HBuilderX 内置node版本是32位,如果遇到JavaScript heap out of memory问题,可以自行下载64位的Node进行替换。

建议替换的Node版本为12.X,不建议使用高版本的Node。

Node下载地址:https://nodejs.org/dist/latest-v12.x/

Windows HBuilderX 内置Node路径:HBuilderX安装目录/plugins/node

MacOSX HBuilderX 内置Node路径:

  • Alpha版本:/Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/node
  • 正式版:/Applications/HBuilderX.app/Contents/HBuilderX/plugins/node
  • 通拉嘎

    终于解决了

    2021-11-10 17:28

  • 小李子l1999

    有用 并且顺带解决了语法助手报错的问题,下载解压之后把node.exe替换原来plugins/node文件夹下的node.exe即可。

    2022-04-23 11:09

  • skshu开发者

    回复 小李子l1999:没有存在无法运行到手机的bug吗

    2022-10-11 08:53

  • 3***@qq.com

    换成64位的编译vue3 vite项目报错

    2022-10-20 21:42

  • DCloud_HB_WDL

    回复 3***@qq.com: 试试HBuilderX 3.6.7-alpha版本

    2022-10-20 22:16

  • 4***@qq.com

    回复 DCloud_HB_WDL: 我刚刚用HBuilderX 3.6.7-alpha 加12.X的Node版本 还是跑不起来

    2022-10-21 12:17

  • 小李子l1999

    回复 skshu开发者: 不是一个问题吧

    2022-10-27 14:39

  • 5***@qq.com

    替换后,运行到Andro APP基座就没反应了

    2022-11-24 15:51

  • 5***@qq.com

    回复 小李子l1999: 我试了,会引起运行到APP基座无效,选择设备窗口弹不出来

    2022-11-24 15:54

  • 2***@qq.com

    替换后运行HBuilder 都直接未响应了

    2023-03-17 16:28

  • DCloud_HB_WDL

    回复 2***@qq.com: 这个帖子是2021年的,已经不适合当前。

    2023-03-17 17:23

1***@163.com

1***@163.com

我内存改成50000才发行成功,什么4080都不行

  • 安修丶

    大兄弟啊,特意登录了来感谢你。

    2022-12-26 15:25

DCloud_uniAD_HDX

DCloud_uniAD_HDX

项目中PingFangSC-Semibold.css 这个base64字体过大 编译时会导致内存溢出

可以通过动态加载字体来处理 1.9.1新增api

uni.loadFontFace({  
    family: "fontName",  
    source: "url('https://*.ttf')",  
    success: (e => {  
        console.log(e);  
    }),  
    complete: (e => {  
        console.log(e);  
    })  
});

参考
https://uniapp.dcloud.io/api/ui/font

  • 小明子

    15:08:26.888 <--- Last few GCs --->


    15:08:26.889 [13288:0232EE38] 69357 ms: Mark-sweep 655.0 (714.6) -> 654.7 (722.6) MB, 237.0 / 0.0 ms allocation failure scavenge might not succeed


    15:08:26.895 [13288:0232EE38] 69548 ms: Mark-sweep 662.5 (722.6) -> 662.5 (723.1) MB, 164.0 / 0.0 ms allocation failure scavenge might not succeed


    15:08:26.901 [13288:0232EE38] 69736 ms: Mark-sweep 662.5 (723.1) -> 662.2 (729.1) MB, 188.0 / 0.0 ms allocation failure scavenge might not succeed


    15:08:26.907 <--- JS stacktrace --->


    15:08:26.913 Cannot get stack trace in GC.


    15:08:26.917 FATAL ERROR: MarkCompactCollector: semi-space copy, fallback in old gen Allocation failed - JavaScript heap out of memory

    15:08:26.918 #

    15:08:26.923 # Fatal error in , line 0

    15:08:26.923 # API fatal error handler returned after process out of memory

    15:08:26.929 #

    2019-09-10 15:10

  • 小明子

    请问这是什么错误??无语了。。

    2019-09-10 15:10

  • 7***@qq.com

    请问多大的字体才为大?

    2020-01-21 16:26

1***@qq.com

1***@qq.com - 安静的周某人

公司用uniapp开发app现在pages.json页面将近400个大都无法合并,频繁报内存溢出,打包启动app后经常白屏,这个问题已经快一周了,唉!都快做完了出了这么一个问题

  • c***@163.com

    我也是 怎么办 有点后悔选uniapp这个东西了

    2020-01-21 19:33

  • 2***@qq.com

    早没看到,我们也是400多个页面。离线打包启动app后经常白屏

    2022-05-10 16:23

p***@qq.com

p***@qq.com

我也出现了这个问题,注释掉一部分页面就行了。怎么才能知道编译的时候哪里占的内存比较大?有点监控手段的话我们可以排查一下,不用每次都发整个工程包给官方排错。

CharkLeo

CharkLeo

请问有解决吗

DCloud_heavensoft

DCloud_heavensoft

2.6.12 新增 uni-app 支持自定义uniapp编译器node启动内存(菜单【设置】【运行配置】)

  • 5***@qq.com

    现在都3.6.5了都没用

    2022-11-24 16:22

liuxy

liuxy - 承接各种公众号小程序app开发, 前后全包,wx或电话咨询联系18724597563

请问有解决吗?我自定义uniapp编译器node启动内存(菜单【设置】【运行配置】)后仍然无效

  • DCloud_HB_WDL

    感谢反馈,我们再验证下

    2020-04-21 12:02

  • SuniceTop

    回复 DCloud_HB_WDL: 今天也出现了内存溢出,因为一个页面使用NVUE,页面内是类似注册协议的内容,全都是 text 文字,文字较多,文件22K。。。加入这个以后,就频繁出现内存溢出

    2020-04-23 20:19

  • liuxy

    回复 DCloud_HB_WDL: 2.6.15仍旧没有解决, 调整 菜单【设置】【运行配置】 仍无效, 设置node环境变量的方式调整也无效, 但是我发现云打包的时候编译是可以通过的,但是真迹运行的时候就一直报内存溢出

    2020-04-24 09:20

  • 林启聪

    你解决了吗?我的情况和你一样

    2020-11-17 10:27

j***@163.com

j***@163.com - 85后it

] 20:49:16.398 开源不易,需要鼓励。去给 uni-app 项目 点个 star 吧 [不再提示]
[广告] 20:49:16.398 DCloud 2020新春招聘开启,欢迎前端、Android、C++/QT来投简历! 详情点击
20:49:16.398 项目 'ssgrid-uniapp-rebuild' 开始编译...
20:49:18.150 请注意运行模式下,因日志输出、sourcemap以及未压缩源码等原因,性能和包体积,均不及发行模式。
20:49:18.150 正在编译中...
20:49:19.856 INFO Starting development server...
21:03:47.670 #
21:03:47.674 # Fatal error in , line 0
21:03:47.674 # API fatal error handler returned after process out of memory
21:03:47.678 #

  • DCloud_HB_WDL

    菜单【设置】【运行配置】, 可以调整node运行内存参数

    2020-06-03 15:09

  • 天线宝宝123

    回复 DCloud_HB_WDL: 我的运行设置里面 没有地方更改参数啊

    2020-06-19 10:00

  • DCloud_HB_WDL

    回复 天线宝宝123: 升级到最新版。设置【运行设置】【uni-app运行内存】

    2020-06-19 10:38

  • 小新z

    回复 DCloud_HB_WDL: HBuilder x 2.9.8,win10 20H2版本,内存由2G改成3G改成4G还是报错

    2020-12-15 15:21

  • 5***@qq.com

    回复 DCloud_HB_WDL: 最新3.6.5版本,内存都配置成8048了,还是不行

    2022-11-24 16:23

张曦

张曦

自定义uniapp编译器node启动内存(菜单【设置】【运行配置】),我将运行内存修改成4096后,无法编译死什么原因?

  • b***@gmail.com

    我也遇到这个问题,我写4096直接就是白,没有提示。写4095就是说会内存溢出

    1: node_module_register

    2: v8::internal::Factory::NewFixedArray

    3: v8::internal::HashTable<v8::internal::SeededNumberDictionary,v8::internal::SeededNumberDictionaryShape>::IsKey

    2020-06-26 21:05

  • b***@gmail.com

    我现在打包都用2.5.1,太苦逼的问题了

    2020-06-26 21:06

  • 晓寒1987

    这个问题很头疼,我也老是出现这个问题,网上试遍了方法,也不行,有的临时又可以编译了,下次又不行了,电脑都16G内存了,设置里调整多大都不行

    2020-07-29 09:01

  • 林启聪

    楼上的大哥有没有解决的

    2020-11-17 10:27

  • 5***@qq.com

    回复 b***@gmail.com: 现在3.6.5问题还在

    2022-11-24 16:24

l***@leesam.cn

l***@leesam.cn

完全不行,改啥都没用,只能换node才有效果

1***@163.com

1***@163.com

最新版内存改成 4090可以

该问题目前已经被锁定, 无法添加新回复