DCloud_heavensoft
DCloud_heavensoft
  • 发布:2019-04-17 02:51
  • 更新:2023-08-25 16:09
  • 阅读:56261

uni-app各环节版本兼容性说明

分类:uni-app

此文档停止维护,最新的文档见:uni版本说明

uni-app是一个跨度很大的产品,支持多种开发ide、HBuilderX有正式版和alpha版、支持cli和普通项目、支持很多端、有云打包app和本地打包app、编译器模式支持老的模板模式和新的自定义组件模式。
它们都会升级,如果出现一个升级、另一个未升级的情况,可能会运行异常。

正常情况,HBuilderX升级后,其自带的app运行基座、uni-app编译器、云打包配套引擎会同步升级。但在开发者使用cli创建项目、使用自定义基座、使用5+sdk离线打包时,就需要手动维护版本更新。

我们经常遇到的误报问题是:“我的HBuilderX已经是最新版了,升级日志里提到的已解决问题,为什么没有仍然存在?”,其实有的是因为cli项目下编译器是旧的、有的是因为本地打包的sdk是旧的,有的是因为自定义基座的版本是旧的。

  • 如果你使用cli创建项目(即项目根目录是package.json),不管用什么ide,即便是用HBuilderX,切记cli项目的编译器是在项目下的,HBuilderX不管怎么升级都不会影响编译器版本。你需要手动npm update来升级编译器。以及如果你想要安装less、scss等预编译器,也需要自己npm安装在项目下,而不是在HBuilderX的插件管理里安装。

  • 如果你使用离线打包,请注意HBuilderX升级后,真机运行基座和云打包对应引擎跟随HBuilderX升级,而你的sdk需要手动升级。sdk的版本升级一般滞后HBuilderX正式版升级一两天。在这里下载最新版

  • 如果你使用自定义基座,之前制作的自定义基座是不会跟随HBuilderX升级的,升级HBuilderX后你应该重新制作新版自定义基座。

  • 如果你使用wgt升级,新版HBuilderX编译的wgt,运行到之前的runtime上,一定要先测试好,看有没有兼容性问题。如果有问题,就不要wgt升级,整包升级。

  • 考虑到向下兼容,uni-app编译器在升级为新的自定义组件模式后,同时保留了对老编译模式的向下兼容。
    在HBuilderX alpha版中,App端一定会使用新编译器,不理会manifest配置。
    在HBuilderX 正式版中,新创建的项目会使用新编译器,老项目不会强制使用,而是开发者自己在manifest里配置开启。

  • 如果你使用其他ide开发uni-app,会经常因为拼错单词而运行失败,因为经过webpack编译一道,很多错误反应的不够直观,排错时间很长,不如从开始就依赖有良好提示的HBuilderX,避免敲错单词。

  • 云打包的引擎版本说明
    自HBuilderX 3.9起,云打包机版本保留了多个可用的版本,具体可用的云端打包版本参考下方的版本对应表。
    打包时,服务端会根据用户使用的HBuilderX或cli版本去匹配最合适的打包机,规则如下(匹配优先级从高到低):

    1. HBuilderX或cli版本与云端版本完全一致;
    2. HBuilderX或cli版本的大版本号与云端一致时,使用该大版本的最新版本;如打包机上有[3.92, 3.93, 3.99, 4.01, 4.10],则3.91使用3.99打包机。
    3. 当以上规则无法匹配时,使用云端最新版本。

举个例子:
当云打包机有以下版本[3.7.11,3.8.12,3.92, 3.93, 3.99, 4.01, 4.15]可用时:

  • 如果HBuilderX使用3.7.11,3.8.12,3.92, 3.93, 3.99, 4.08, 4.15这些版本时,版本号完全匹配,直接使用同版本号打包机;
  • 如果HBuilderX使用3.7.3,则云端打包机使用3.7.11版本;HBuilderX使用3.91,则云端打包机使用3.99版本;HBuilderX使用4.01版本,则云端打包机使用4.08版本;
  • 如果HBuilderX使用3.7以下的版本,则云端打包机使用最新版本4.15。

很多人在报问题时不说清自己的情况,导致别人给出错误的回答。
很多人在搜问题时没注意看条件,导致使用了并不适用于自己的错误方案。

要想问题少,推荐使用HBuilderX完成一切工作,包括创建项目、运行编译、云打包app。
因为在这套体系里,官方会对很多常见的问题做出提醒和引导,减少问题的概率。随着HBuilderX的升级,uni-app编译器、真机运行基座、云打包引擎都会升级。

版本列表

下面提供 uni-app 开发中各产品的版本对应表:

11 关注 分享
Trust 萌龙 DCloud_HB_WDL 5***@qq.com yqs 杨大宝 8***@qq.com albearcat 2***@qq.com 风云杭州 南黎

要回复文章请先登录注册

s***@163.com

s***@163.com

回复 s***@163.com :
如当前云打包机有2个(只保留2个大版本的云打包机),一个是正式版2.7.5,一个是次正式版2.6.16。那么正式版HBuildrX2.6.** 云打包时使用的云打包版本为次正式版2.6.16;其他HbuildrX正式版云打包时使用的云打包版本为正式版2.7.5(如使用HbilderX2.7.9云打包时,使用的云打包版本其实为2.7.5)
2020-05-29 09:30
s***@163.com

s***@163.com

回复 s***@163.com :
次新版本下的HBuilderX正式版云打包时使用的云打包版本是次新版本的打包机,其他HBuilderX正式版云打包时使用的云打包版本是正式版云打包机。
2020-05-29 09:24
s***@163.com

s***@163.com

回复 s***@163.com :
HBuilderX正式版,有2套打包机,一个是最新正式版,一个是次新正式版。那么什么使用云打包版本会使用次新正式版?
2020-05-29 09:22
s***@163.com

s***@163.com

回复 s***@163.com :
经查证,云打包版本有2个,正式版对应2.7.5,Alpha版对应2.7.8。即所有HbuilderX正式版云打包时使用的云打包版本都是2.7.5(虽然HBuilderX使用最新版本2.7.9,但是对应的云打包版本也是2.7.5);HbuilderX的Alpha版每次只有一个,当前HbuilderX Alpha版为2.7.8,云打包时使用的云打包版本为2.7.8。
2020-05-29 09:20
DCloud_heavensoft

DCloud_heavensoft (作者)

回复 易软 :
升级HBuilderX 2.7.5,即v3后,App端遇到兼容问题的,加专项群291942688反馈。同时升级注意事项见:https://ask.dcloud.net.cn/article/37342
2020-05-29 07:30
DCloud_heavensoft

DCloud_heavensoft (作者)

回复 s***@163.com :
2.7.9当然对应一个2.7.9的打包机。如果第三位出现变化,有一种情况,即临时中间版本打包机不保留,此时可能打包机版本更高。无论如何,2.7.9的hx不会对应到更低版的打包机去
2020-05-29 07:30
s***@163.com

s***@163.com

回复 s***@163.com :
正常情况,HBuilderX升级后,其自带的app运行基座、uni-app编译器、云打包配套引擎会同步升级。HBuilderX升级到最新版2.7.9.20200527,对应的云打包配套引擎会同步升级,但是配套的云打包(引擎)版本到底是多少呢?是2.7.9还是2.7.5(HBuilderX2.5.1 打包时界面提醒的云打包服务器版本)?
2020-05-28 15:21
易软

易软

升级2.7版本 BUG
不是一般的多 全完了 热更新 都更新了不覆盖 搞什么啊
2020-05-28 12:41
d***@linlinnt.com

d***@linlinnt.com

最新的npm 包是 2.0.0-27820200527001, 和现在最新的hbuildX版本2.7.9.20200527 好像没对上啊
2020-05-28 12:03
s***@163.com

s***@163.com

(1) 20200414的时候,将HbuildeX2.5.1.20190103升级到最新版2.6.11.20200409时出现界面不适配问题(如字体和布局变大、有些样式不起效等问题),也不知道什么原因,只能又回退到HbuildeX2.5.1版本,期望下次升级不会出现这个问题;

(2) 20200506的时候,将HbuildeX2.5.1.20190103升级到最新版2.6.16.20200424时出现界面不适配问题,又回退到HbuildeX2.5.1版本;

(3) 20200528的时候,打包提醒当前版本2.5.1,但云打包服务器版本为2.7.5,可能出现兼容问题。本想直接去官网下载HbuildeX2.7.5,想着保持和云打包服务器版本一致来避免可能出现的兼容性问题,但是此时官网的历史版本中并没有HbuildeX2.7.5这个版本(HbuildeX的最新版为2.7.9,可下载的历史版本最新版为2.6.16)。所以我先忽略了当前版本和服务器编译器版本不一致的提醒,继续打包,然而打包后文件大小由原来的17.2M变为10.2M,安装到真机上直接无法正常启动了(永远停留在启动页);

此时不得不升级了,将HbuildeX2.5.1.20190103升级到最新版2.7.9.20200527,打包(打包时未提醒当前版本和服务器编译器版本不一致,此时的云打包版本还是2.7.5吗?如果是,那么2.7.9版本打包为啥没提醒不一致?我很疑惑呀,话说云打包服务器有2个版本,我很混乱。。)后虽然文件还是变小了但是能正常启动,然而仍有之前所说的界面不适配问题,看来一点懒都不能偷,再调一次适配吧。。(一直不知道什么原因,之前想将HbuildeX2.5.1.20190103升级到2.6.11.20200409时就出现了,不知道是这两个版本间中哪个版本影响的)

(4) 结论:每升级一次,大多数情况下都会对原来已调试好的程序产生影响,如插件不能用了、界面不适配了等等,入坑已深,入者做好心理准备。
2020-05-28 11:10