flutter 版本相关问题

flutter version

Flutter 1.15.22 • channel master • https://github.com/flutter/flutter.git
Framework • revision 1606d87834 (2 days ago) • 2020-03-16 00:36:01 -0400
Engine • revision 6801b4dae7
Tools • Dart 2.8.0 (build 2.8.0-dev.14.0 7079c49b05)

Flutter SDK 版本列表
https://flutter.cn/docs/development/tools/sdk/releases?tab=macos

flutter 版本相关问题_第1张图片
image.png

由于更新到最新版本,还不是稳定版本,然后TextField输入框出现一堆问题,因此只能回退到稳定版本

flutter 版本相关问题_第2张图片
image.png

如果需要查看版本出现的问题列表,可以访问一下:
https://github.com/flutter/flutter/wiki/Bad-Builds

如果你想切换到特定版本的 Flutter,你可以使用 flutter version 命令:
flutter version v1.12.13+hotfix.8

Warning: "flutter version" will leave the SDK in a detached HEAD state. ║
║ If you are using the command to return to a previously installed SDK version ║
║ consider using the "flutter downgrade" command instead.

降级是建议使用
flutter downgrade v1.12.13+hotfix.8(目 前这个命令无法使用)

执行到flutter pub upgrade的时候报错
flutter pub upgrade (server unavailable),看了GitHub上面却找不到v1.12.13+hotfix.8这个tag,只有v1.12.13+hotfix.6。很奇怪的是网站上的版本号却没有6,两个地方是不同的,不知道为什么?

flutter 版本相关问题_第3张图片
image.png

到flutter sdk所在的目录下(自己找flutter的安装目录到flutter文件夹里面那一层即可)执行 :


flutter 版本相关问题_第4张图片
image.png

git reset --hard fabeb2a16f1d008ab8230f450c49141d35669798
其中红色的字符串是commit版本号如下,可以到Flutter Git源码里面去找https://github.com/flutter/flutter(Releas--tags--找到具体的版本号,如下,点击-- fabeb2a即可看到commit号)

flutter 版本相关问题_第5张图片
image.png

philos:flutter zby0520$ git reset --hard 18cd7a3601bcffb36fdf2f679f763b5e827c2e8e

HEAD is now at 18cd7a3601 v1.12.13+hotfix.6 cherry-picks (#46741)

前面操作之后,一运行程序,为何又会变回去呢??
因为你的分支不对!!!master是所有的版本都有的,一更新就是最新的,应该切换到stable稳定版本,才会保持稳定的版本。

flutter 版本相关问题_第6张图片
image.png

Flutter有以下三个渠道(channel),顺序按照稳定性依次增加:

master

当前代码树的顶端,最新的版本。一般有很多新功能,但是不保证以后会不会砍掉。

dev

以前叫alpha,是最新的完全测试过的版本。也包含了新功能,但是也会有一些"bad" dev builds,可以查看 Bad Builds 列表。

beta

每隔几周都会选取近几个月中最好的一个dev版本,当作beta版,这个版本是通过了Google的codelabs 测试的。

虽然Flutter也有一个release版本,选取的是近一年中最好的beta版本,但是依然没有达到完全满意、可以全面使用的程度。

stable

这个渠道才是应该一直用来开发的

如何切换渠道

你可以通过下面这个命令查看你所在的渠道:

$ flutter channel
Flutter channels:
* beta
  dev
  master

如果要切换渠道,可以使用命令:flutter channel [],然后再运行命令flutter upgrade保证你处于最新的版本。

一些已知的issue和解决方法

  • 当切换渠道时,报错:Unable to upgrade Flutter: no upstream repository configured.
    解决方法:当beta渠道还没有正式发布的时候,如果运行flutter channel beta,那么就会报这个错,因为还有bug没有修复。解决办法就是在Flutter安装目录的根目录下运行以下命令:
$ git fetch origin; git branch -u origin/beta beta; flutter channel beta

在运行这个命令之后,你会回到beta分支,可以使用flutter upgrade来完成更新。

  • 在运行flutter upgrade命令后,flutter工具崩溃,报错:Cannot find executable for /path/to/dart
    解决方法:这个只有在你第一次升级(upgrade)的时候会发生,这个issue已经被修复了( issue),第一次会发生这个报错,之后你就再也不会遇到了。

注意使用国内的源,会与代理冲突!!!!

使用git clone出现 fatal: unable to access 'https://github.com/...'的解决办法

如图所示,本来已经启用了shadowsocks开启了代理,能够正常服务github的网站。但是在使用git工具时,git clone时却一直出现这个报错,即使shadowsocks开全局模式也不行。原因是这个git客户端访问github没有走ss的代理。

解决办法,在开启shadowsocks的前提下,手动配置git的代理。git客户端输入如下两个命令就可以了。

git config --global http.proxy http://127.0.0.1:1080

git config --global https.proxy http://127.0.0.1:1080

http://也可以改成socks5://,都可以实现代理,但是区别在于:socks5不支持通过pubkey免密登录github,每次提交代码只能输入用户名和密码。http可以支持免密登录。

取消代理:

git config --global --unset http.proxy

git config --global --unset https.proxy

你可能感兴趣的:(flutter 版本相关问题)