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
由于更新到最新版本,还不是稳定版本,然后TextField输入框出现一堆问题,因此只能回退到稳定版本
如果需要查看版本出现的问题列表,可以访问一下:
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 sdk所在的目录下(自己找flutter的安装目录到flutter文件夹里面那一层即可)执行 :
git reset --hard fabeb2a16f1d008ab8230f450c49141d35669798
其中红色的字符串是commit版本号如下,可以到Flutter Git源码里面去找https://github.com/flutter/flutter(Releas--tags--找到具体的版本号,如下,点击-- fabeb2a即可看到commit号)
philos:flutter zby0520$ git reset --hard 18cd7a3601bcffb36fdf2f679f763b5e827c2e8e
HEAD is now at 18cd7a3601 v1.12.13+hotfix.6 cherry-picks (#46741)
前面操作之后,一运行程序,为何又会变回去呢??
因为你的分支不对!!!master是所有的版本都有的,一更新就是最新的,应该切换到stable稳定版本,才会保持稳定的版本。
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