flutter 版本相關(guān)問題

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

image.png

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

image.png

如果需要查看版本出現(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,兩個地方是不同的,不知道為什么?

image.png

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


image.png

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

image.png

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)定的版本。

image.png

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容