fvm作為Flutter的包管理工具,能讓我們在不同版本的Flutter之間自由切換,就像nvm管理node一樣。
1、安裝方式
fvm 安裝方式比較簡單,Mac中一般通過homebrew安裝
brew tap befovy/taps
brew install fvm
接下來配置環(huán)境變量:
打開.bash_prifile,
vim ~/.bash_profile
并將一下全局變量添加到里面
export FLUTTER_ROOT=/opt/fvm/current
export FVM_HOME=/opt/fvm
export PATH=/Users/wf/Library/Application\ Support/fvm/current/bin:$PATH
保存,退出后讓修改立即生效:
source ~/.bash_profile
如果以前在電腦中裝了flutter包,可以將包import到fvm 里面:
fvm import <name>
安裝其他包:
fvm install <version>
version 是你要安裝的版本號
設(shè)置當前使用的版本號:
fvm use <name>
如果某個項目要使用固定的版本號,可以給某個項目單獨設(shè)置flutter版本:
fvm use <name> --local
我在使用上面這個命令時候出現(xiàn)一些問題:版本切換到新版本,但是運行代碼還是用的舊版本,然后就報錯了,不知道各位看官有沒有遇到過,最終我是硬生生的把舊版本remove掉,然后重新安裝的舊版本,然后使用全局切換版本的命令fvm use <版本號>來控制版本。
使用fvm current 查看當前使用的版本號。
最后是修改Androidstudio的Flutter路徑:

dart包路徑一般會自動帶出來,如果沒有,手動改一下。
2、遇到的問題
1、在使用fvm install 1.20.3安裝的時候報錯:
fvm: Command 'git' exited with error: chdir /Users/wf/Library/Application Support/fvm/versions/1.20.3: no such file or directory
我的解決辦法是干脆直接把舊的Flutter項目import過來,不用install的方式,不知道其他小伙伴有沒有其他解決方式
2.在import引入現(xiàn)有包的時候沒有權(quán)限,導(dǎo)入fvm文件夾失敗,而且原來的包也沒有了??,因為fvm 在我的電腦默認安裝在 /Users/wf/Library/Application Support/fvm路徑,訪問/Users/wf/Library/Application Support/需要sudo 權(quán)限,直接把fvm 文件夾權(quán)限放開:
sudo chmod -R 777 /Users/wf/Library/Application\ Support/fvm
tip:如果不把這個文件夾權(quán)限放開,而是直接使用sudo 執(zhí)行import命令,后面工程訪問這個目錄還是訪問不到,打開項目后就會看到全是報錯。
3.再次使用fvm install 安裝新版本的時候居然不報文件找不到的錯誤了,心中暗喜,但是苦苦登錄十幾分鐘就在終于要下載完畢的時候,又報出一個git error 128 的錯誤(忘記截圖了),最后我的解決辦法是直接在Flutter官網(wǎng)把最新版本的2.0.4壓縮包下載到本地解壓,然后使用fvm import 的方式導(dǎo)入。
針對以上問題,小伙伴們有更好的解決方案,歡迎留言。
(網(wǎng)上另一種fvm安裝方法可參考:https://blog.csdn.net/phunxm/article/details/117317291)