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

由于更新到最新版本,還不是穩(wěn)定版本,然后TextField輸入框出現(xiàn)一堆問題,因此只能回退到穩(wěn)定版本

如果需要查看版本出現(xiàn)的問題列表,可以訪問一下:
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(目 前這個命令無法使用)
執(zhí)行到flutter pub upgrade的時候報(bào)錯
flutter pub upgrade (server unavailable),看了GitHub上面卻找不到v1.12.13+hotfix.8這個tag,只有v1.12.13+hotfix.6。很奇怪的是網(wǎng)站上的版本號卻沒有6,兩個地方是不同的,不知道為什么?

到flutter sdk所在的目錄下(自己找flutter的安裝目錄到flutter文件夾里面那一層即可)執(zhí)行 :

git reset --hard fabeb2a16f1d008ab8230f450c49141d35669798
其中紅色的字符串是commit版本號如下,可以到Flutter Git源碼里面去找https://github.com/flutter/flutter(Releas--tags--找到具體的版本號,如下,點(diǎn)擊-- fabeb2a即可看到commit號)

philos:flutter zby0520$ git reset --hard 18cd7a3601bcffb36fdf2f679f763b5e827c2e8e
HEAD is now at 18cd7a3601 v1.12.13+hotfix.6 cherry-picks (#46741)
前面操作之后,一運(yùn)行程序,為何又會變回去呢??
因?yàn)槟愕姆种Р粚Γ。?!master是所有的版本都有的,一更新就是最新的,應(yīng)該切換到stable穩(wěn)定版本,才會保持穩(wěn)定的版本。

Flutter有以下三個渠道(channel),順序按照穩(wěn)定性依次增加:
master
當(dāng)前代碼樹的頂端,最新的版本。一般有很多新功能,但是不保證以后會不會砍掉。
dev
以前叫alpha,是最新的完全測試過的版本。也包含了新功能,但是也會有一些"bad" dev builds,可以查看 Bad Builds 列表。
beta
每隔幾周都會選取近幾個月中最好的一個dev版本,當(dāng)作beta版,這個版本是通過了Google的codelabs 測試的。
雖然Flutter也有一個
release版本,選取的是近一年中最好的beta版本,但是依然沒有達(dá)到完全滿意、可以全面使用的程度。
stable
這個渠道才是應(yīng)該一直用來開發(fā)的
如何切換渠道
你可以通過下面這個命令查看你所在的渠道:
$ flutter channel
Flutter channels:
* beta
dev
master
如果要切換渠道,可以使用命令:flutter channel [<channel-name>],然后再運(yùn)行命令flutter upgrade保證你處于最新的版本。
一些已知的issue和解決方法
- 當(dāng)切換渠道時,報(bào)錯:
Unable to upgrade Flutter: no upstream repository configured.。
解決方法:當(dāng)beta渠道還沒有正式發(fā)布的時候,如果運(yùn)行flutter channel beta,那么就會報(bào)這個錯,因?yàn)檫€有bug沒有修復(fù)。解決辦法就是在Flutter安裝目錄的根目錄下運(yùn)行以下命令:
$ git fetch origin; git branch -u origin/beta beta; flutter channel beta
在運(yùn)行這個命令之后,你會回到beta分支,可以使用flutter upgrade來完成更新。
- 在運(yùn)行
flutter upgrade命令后,flutter工具崩潰,報(bào)錯:Cannot find executable for /path/to/dart。
解決方法:這個只有在你第一次升級(upgrade)的時候會發(fā)生,這個issue已經(jīng)被修復(fù)了( issue),第一次會發(fā)生這個報(bào)錯,之后你就再也不會遇到了。
注意使用國內(nèi)的源,會與代理沖突?。。?!
使用git clone出現(xiàn) fatal: unable to access 'https://github.com/...'的解決辦法
如圖所示,本來已經(jīng)啟用了shadowsocks開啟了代理,能夠正常服務(wù)github的網(wǎng)站。但是在使用git工具時,git clone時卻一直出現(xiàn)這個報(bào)錯,即使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://,都可以實(shí)現(xiàn)代理,但是區(qū)別在于:socks5不支持通過pubkey免密登錄github,每次提交代碼只能輸入用戶名和密碼。http可以支持免密登錄。
取消代理:
git config --global --unset http.proxy
git config --global --unset https.proxy