堅(jiān)果每日問友:早上好 !
我是堅(jiān)果前端的作者堅(jiān)果
今天是2021年11月5日星期五,
農(nóng)歷十月一日。
[第六天分享]
今天是Flutter系列第六節(jié)。今天給大家介紹flutter版本控制工具 FVM
Flutter系列(基礎(chǔ))
每個(gè) Flutter 開發(fā)人員都應(yīng)該知道的 16 個(gè) Dart 技巧(第三節(jié))
如何在flutter中構(gòu)建響應(yīng)式布局(第五節(jié))
flutter 在windows和linux上運(yùn)行IOS UI模擬器
flutter項(xiàng)目打包發(fā)布windows可執(zhí)行文件
隨著flutter2.5.0的發(fā)布,相信很多同學(xué)都是激動的心,顫動的手,想快速嘗試一波,做一個(gè)吃螃蟹的人,本人也是曾懷揣著這樣的心情,頭腦一熱的將本地的flutter版本更新到2.05.0了,螃蟹吃完了,但是回到項(xiàng)目(公司項(xiàng)目采用的1.20.4)代碼時(shí),一打開,一片紅,各種報(bào)錯,我滴個(gè)乖乖~,又趕緊將版本回退到之前的穩(wěn)定版本!
本著又想吃螃蟹,又想兼顧公司項(xiàng)目代碼的想法,還是幼稚了,幸運(yùn)的是,https://github.com/leoafarias/fvm 就能滿足需求。在這里介紹一款flutter的版本管理神器 FVM
,安裝方式我給了兩種,
choco
和pub
FVM 可以在用戶本機(jī)通過安裝多個(gè)Flutter SDK版本,來為項(xiàng)目指定Flutter版本,或者快速在各個(gè)版本間切換,解決只有一個(gè)Flutter版本對不同項(xiàng)目兼容問題。
官網(wǎng):
https://chocolatey.org/
powershell 管理員身份運(yùn)行命令行
不會的話,先打開一個(gè)powershell 窗口 ,然后右擊任務(wù)欄,選擇第一個(gè),即可進(jìn)入
輸入命令
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco -v
choco upgrade chocolatey
可以安裝成功
choco list -li
查看本地安裝的軟件
choco search nodejs
查找安裝包
choco install sublimetext3
下載
choco uninstall sublimetext3
卸載
choco upgrade sublimetext3
更新(update)
choco install fvm
pub global activate fvm
可以設(shè)置系統(tǒng)環(huán)境變量、
現(xiàn)在我們將在這里配置 VS Code,我們將看到如何完成 VS Code 過程。
目錄的路徑,我們可以在代碼中看到 FVM 安裝的所有版本
這里提示在settings.json添加以下內(nèi)容。
{
"dart.flutterSdkPaths": ["D:/fvm/versions""]
}
用fvm命令,輸入fvm
出現(xiàn)如下信息,即配置成功,可以開始使用fvm管理了。
為了獲得上面的路徑,我們將執(zhí)行 fvm list 命令
// copy this path
Versions path: $YOUR_PATH/fvm/versions
輸入 cmd + shift + p 來使用 sdk,然后輸入 change sdk,現(xiàn)在你可以選擇你喜歡的版本了。
初始化項(xiàng)目
$ fvm flutter create .
Languages & Frameworks -> Flutter
或搜索 Flutter 并更改 Flutter SDK 路徑。/absolute-path/.fvm/flutter_sdk
您現(xiàn)在可以使用所選版本的 Flutter 運(yùn)行和調(diào)試。
版本切換前先用fvm list
檢查一下本地版本
Cache Directory: D:\fvm\versions
2.5.1
2.5.0
2.2.3
1.20.4
然后使用fvm list
切換你想要的版本
PS E:\work\dc-client\app_proj> fvm use 1.20.4
Project now uses Flutter [1.20.4]
其他的設(shè)置同電腦終端的設(shè)置一樣,可以參考:?github.com/leoafarias/…
FVM 將在您的項(xiàng)目中創(chuàng)建一個(gè)相對符號鏈接.fvm/flutter_sdk
到所選版本的緩存。將其添加到您的.gitignore
.fvm/flutter_sdk.gitignore
.fvm/flutter_sdk
您可以通過設(shè)置環(huán)境變量來配置fvm緩存目錄FVM_HOME
。如果沒有設(shè)置,將使用默認(rèn)的fvm路徑。您還可以通過--cache-path
在配置上設(shè)置來更改目錄。見下文
fvm config
fvm config --cache-path <CACHE_PATH>
您可以在 FVM 上更改一些配置。在 CLI 上設(shè)置的所有設(shè)置都與 Sidekick(GUI) 兼容。
一般需要查看命令的使用說明,都會通過 --help
查看。
$ fvm --help
Flutter Version Management: A cli to manage Flutter SDK versions.
Usage: fvm <command> [arguments]
Global options:
-h, --help Print this usage information.
--verbose Print verbose output.
Available commands:
config Set configuration for FVM
flutter Proxies Flutter Commands
install Installs Flutter SDK Version
list Lists installed Flutter SDK Version
releases Lists Flutter SDK releases.
remove Removes Flutter SDK Version
use Which Flutter SDK Version you would like to use
version Prints the currently-installed version of FVM
Run "fvm help <command>" for more information about a command.
對于子命令的更多使用方法,我們可以通過 fvm help <command>
進(jìn)行查看,比如:
$ fvm help use
Which Flutter SDK Version you would like to use
Usage: fvm use [arguments]
-h, --help Print this usage information.
--global Sets version as the global version.
Make sure Flutter PATH env is set to: /Users/oheroj/fvm/default/bin
--force Skips command guards that does Flutter project checks.
Run "fvm help" to see global options.
命令學(xué)習(xí)的套路就是多用 help。其他命令讀大家可自行學(xué)習(xí)。
安裝 Flutter SDK 版本。使您能夠安裝 Flutter 版本或頻道。
Usage:
fvm install - # 安裝在項(xiàng)目配置中找到的版本
fvm install {version} - # 安裝特定版本
Option:
-h, --help Print this usage information.
-s, --skip-setup Skips Flutter setup after install
刪除 Flutter SDK 版本。將影響依賴于該版本 SDK 的任何項(xiàng)目。
Usage:
fvm remove {version}
Option:
-h, --help Print this usage information.
--force Skips version global check.
列出已安裝的 Flutter SDK 版本。還將打印 FVM 使用的緩存目錄。
Usage:
fvm list
Option:
-h, --help Print this usage information.xxxxxxxxxx List#Usage: fvm listOption: -h, --help Print this usage information.
查看所有可供安裝的 Flutter SDK 版本。
Usage: fvm releasesOption: -h, --help Print this usage information.
顯示有關(guān)環(huán)境和項(xiàng)目配置的信息。
Usage: fvm doctorOption: -h, --help Print this usage information.
代理命令時(shí),FVM
將按以下順序查找 sdk。
PATH
)fvm global {version}
您可以為每個(gè)項(xiàng)目環(huán)境或發(fā)布類型配置多個(gè) Flutter SDK 版本。FVM 遵循 Flutter 的相同約定并將其稱為flavors
.
它允許您為您的項(xiàng)目創(chuàng)建以下配置。
{ "flutterSdkVersion": "stable", "flavors": { "dev": "beta", "staging": "2.0.3", "production": "1.22.6" }}
要為特定版本選擇 Flutter SDK 版本,您只需使用該use
命令。
fvm use {version} --flavor {flavor_name}
將獲取為flavor配置的版本并設(shè)置為項(xiàng)目版本。
fvm flavor {flavor_name}
列出所有配置的口味:
fvm flavor
發(fā)生這種情況的原因有幾個(gè)。但是這意味著 FVM 快照與安裝的 Dart 版本不兼容。
請執(zhí)行以下操作:
dart pub global deactivate fvm
dart pub global activate fvm
Flutter 內(nèi)置了 Dart。因此,當(dāng)單獨(dú)運(yùn)行 Dart 和 Flutter 時(shí),您會發(fā)現(xiàn)一些沖突。這是我們發(fā)現(xiàn)的正確依賴順序以避免出現(xiàn)問題的建議。
它應(yīng)該是這樣的。
C:\Users<用戶>\AppData\Roaming\Pub\Cache\bin
C:\src\flutter\bin\cache\dart-sdk\bin
C:\src\flutter\bin
如果您得到Command 'pub' not found
,請確保附加export PATH="$PATH:/usr/lib/dart/bin"
到您的~/.bashrc
(每次打開 bash shell 時(shí)都會重新啟動)或~/.profile
(僅在登錄時(shí)讀取)文件。
choco list -li
查看本地安裝的軟件
choco search nodejs
查找安裝包
choco install sublimetext3
下載
choco uninstall sublimetext3
卸載
choco upgrade sublimetext3
更新(update)
參考:
https://fvm.app/docs/getting_started/overview
你花了 · 來閱讀
點(diǎn)個(gè) 再走吧~
聯(lián)系客服