flutter版本控制工具 `FVM`

简介: 文章目录FVM 切换VSCode 的Flutter版本在windows上安装fvm方法一:先安装 choco检查安装是否成功常用指令接下来安装fvm方法二:pub方式安装 fvmVSCode配置安卓studioFlutter版本切换项目缓存目录列出配置设置缓存路径配置常用命令安装删除列出releasesdoctor路由配置全局版本项目多个选项针对不用flavor版本切换flavor版本查看flavor常见问题运行 FVM 时内核二进制文件无效或 sdk 哈希无效PATH 中 Windows 的环境变量顺序找不到命令“pub”

今天给大家介绍flutter版本控制工具 FVM


FVM 切换VSCode 的Flutter版本

随着flutter2.5.0的发布,相信很多同学都是激动的心,颤动的手,想快速尝试一波,做一个吃螃蟹的人,本人也是曾怀揣着这样的心情,头脑一热的将本地的flutter版本更新到2.05.0了,螃蟹吃完了,但是回到项目(公司项目采用的1.20.4)代码时,一打开,一片红,各种报错,我滴个乖乖~,又赶紧将版本回退到之前的稳定版本!


本着又想吃螃蟹,又想兼顾公司项目代码的想法,还是幼稚了,幸运的是,https://github.com/leoafarias/fvm 就能满足需求。在这里介绍一款flutter的版本管理神器 FVM,安装方式我给了两种,


choco和choco


FVM 可以在用户本机通过安装多个Flutter SDK版本,来为项目指定Flutter版本,或者快速在各个版本间切换,解决只有一个Flutter版本对不同项目兼容问题。


在windows上安装fvm

方法一:先安装 choco

官网:


https://chocolatey.org/


powershell 管理员身份运行命令行


不会的话,先打开一个powershell 窗口 ,然后右击任务栏,选择第一个,即可进入


image.png


输入命令

cmd 安装

直接拷贝执行即可,注意需要管理员身份运行

@"%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"
  • PowerShell 安装
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.Ser

检查安装是否成功

choco -v
  • 更新
choco upgrade chocolatey

可以安装成功


常用指令

choco list -li 查看本地安装的软件


choco search nodejs 查找安装包


choco install sublimetext3 下载


choco uninstall sublimetext3 卸载


choco upgrade sublimetext3 更新(update)

image.png

接下来安装fvm

choco install fvm
• 1

方法二:pub方式安装 fvm

pub global activate fvm

可以设置系统环境变量、

1.语法示例

image.png

VSCode配置

现在我们将在这里配置 VS Code,我们将看到如何完成 VS Code 过程。

目录的路径,我们可以在代码中看到 FVM 安装的所有版本

这里提示在settings.json添加以下内容。

{
  "dart.flutterSdkPaths": ["D:/fvm/versions""]
}

用fvm命令,输入fvm出现如下信息,即配置成功,可以开始使用fvm管理了。

image.png

为了获得上面的路径,我们将执行 fvm list 命令

// copy this path
Versions path:  $YOUR_PATH/fvm/versions

输入 cmd + shift + p 来使用 sdk,然后输入 change sdk,现在你可以选择你喜欢的版本了。

image.png

初始化项目

$ fvm flutter create .

安卓studio

前往Languages & Frameworks -> Flutter或搜索 Flutter 并更改 Flutter SDK 路径。

将fvm 符号链接的***绝对***路径复制到您的项目根目录中。例子:/absolute-path/.fvm/flutter_sdk

应用更改。

重新启动 Android Studio 以查看应用的新设置。

您现在可以使用所选版本的 Flutter 运行和调试。


Flutter版本切换

版本切换前先用fvm list 检查一下本地版本

Cache Directory:  D:\fvm\versions2.5.12.5.02.2.31.20.4

image.png

然后使用fvm list切换你想要的版本

PS E:\work\dc-client\app_proj> fvm use 1.20.4Project now uses Flutter [1.20.4]

image.png

其他的设置同电脑终端的设置一样,可以参考:github.com/leoafarias/…


项目

FVM 将在您的项目中创建一个相对符号链接.fvm/flutter_sdk到所选版本的缓存。将其添加到您的.gitignore

.fvm/flutter_sdk.gitignore.fvm/flutter_sdk

缓存目录

您可以通过设置环境变量来配置fvm缓存目录FVM_HOME。如果没有设置,将使用默认的fvm路径。您还可以通过--cache-path在配置上设置来更改目录。见下文

列出配置

fvm config

设置缓存路径

fvm config --cache-path <CACHE_PATH>

配置

您可以在 FVM 上更改一些配置。在 CLI 上设置的所有设置都与 Sidekick(GUI) 兼容

常用命令

一般需要查看命令的使用说明,都会通过 --help 查看。

$ fvm --helpFlutter 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 FVMRun "fvm help <command>" for more information about a command.

config:对 fvm 进行配置

flutter:对 Flutter 的命令进行代理

install:安装 Flutter 版本

list:查看已安装的 Flutter 版本

releases:查看 Flutter sdk 都有哪些发布的版本

remove:删除已安装的某个 Flutter 的版本

use: 选择你要使用的版本

version: 查看安装 fvm 的版本

对于子命令的更多使用方法,我们可以通过 fvm help <command> 进行查看,比如:

$ fvm help useWhich Flutter SDK Version you would like to useUsage: 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.
  • -h,–help :可以查看更多使用信息
  • –global: 将这个版本设置为全局版本
  • –force: 跳过执行 Flutter 项目检查命令

命令学习的套路就是多用 help。其他命令读大家可自行学习。

安装

安装 Flutter SDK 版本。使您能够安装 Flutter 版本或频道。

Usage:    fvm install - # 安装在项目配置中找到的版本    fvm install {version} - # 安装特定版本 Option:    -h, --help

删除

删除 Flutter SDK 版本。将影响依赖于该版本 SDK 的任何项目。

Usage:    fvm remove {version}Option:    -h, --help     Print this usage information.        --force    Skips version g

列出

列出已安装的 Flutter SDK 版本。还将打印 FVM 使用的缓存目录。

Usage:    fvm listOption:    -h, --help     Print this usage information.xxxxxxxxxx List#Usage:    fvm listOption:

releases

查看所有可供安装的 Flutter SDK 版本。

Usage:    fvm releasesOption:    -h, --help     Print this usage information.

doctor

显示有关环境和项目配置的信息。

Usage:    fvm doctorOption:    -h, --help     Print this usage information.

路由

代理命令时,FVM将按以下顺序查找 sdk。

  1. 项目
  2. 父级 目录
  3. 全局(通过 FVM 设置)
  4. 环境(Flutter 版本配置于PATH

配置全局版本

fvm global {version}

项目多个选项

您可以为每个项目环境或发布类型配置多个 Flutter SDK 版本。FVM 遵循 Flutter 的相同约定并将其称为flavors.

它允许您为您的项目创建以下配置。

{  "flutterSdkVersion": "stable",  "flavors": {    "dev": "beta",    "staging": "2.0.3",    "production": "1.22.6"  }}

针对不用flavor版本

要为特定版本选择 Flutter SDK 版本,您只需使用该use命令。

fvm use {version} --flavor {flavor_name}

切换flavor版本

将获取为flavor配置的版本并设置为项目版本。

fvm flavor {flavor_name}

查看flavor

列出所有配置的口味:

fvm flavor

常见问题

运行 FVM 时内核二进制文件无效或 sdk 哈希无效

发生这种情况的原因有几个。但是这意味着 FVM 快照与安装的 Dart 版本不兼容。


请执行以下操作:


在 Windows 上,请确保您的 env 变量按[PATH 中 Windows 的环境变量]顺序所述的顺序排列。

跑 dart pub global deactivate fvm

跑 dart pub global activate fvm

PATH 中 Windows 的环境变量顺序

Flutter 内置了 Dart。因此,当单独运行 Dart 和 Flutter 时,您会发现一些冲突。这是我们发现的正确依赖顺序以避免出现问题的建议。


全局包的发布缓存

Dart SDK(如果安装在 Flutter 之外)

颤振SDK

它应该是这样的。


C:\Users<用户>\AppData\Roaming\Pub\Cache\bin


C:\src\flutter\bin\cache\dart-sdk\bin


C:\src\flutter\bin


找不到命令“pub”

如果您得到Command 'pub' not found,请确保附加export PATH="$PATH:/usr/lib/dart/bin"到您的~/.bashrc(每次打开 bash shell 时都会重新启动)或~/.profile(仅在登录时读取)文件。


choco list -li 查看本地安装的软件


choco search nodejs 查找安装包


choco install sublimetext3 下载


choco uninstall sublimetext3 卸载


choco upgrade sublimetext3 更新(update)


参考:


https://fvm.app/docs/getting_started/overview


相关文章
|
1月前
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
51 8
|
4月前
|
Dart IDE 开发工具
Flutter Version Manager (FVM): Flutter的版本管理终极指南
Flutter Version Manager (FVM): Flutter的版本管理终极指南
1769 1
|
6月前
|
开发框架 开发者 UED
Flutter作为一款跨平台的移动应用开发框架,自然也提供了丰富的工具和功能来支持可访问性和无障碍设计
【6月更文挑战第11天】Flutter是一款注重可访问性设计的跨平台移动应用开发框架,提供语义化组件、文本缩放、对比度调整、动态内容更新通知和键盘导航等功能,支持无障碍体验。开发者应结合简化操作、清晰反馈、多输入方式支持及测试优化等原则,以创建包容性更强的应用,满足不同用户需求,体现社会责任。
68 1
|
7月前
|
SQL 前端开发 JavaScript
IDM 平替 Gopeed Flutter 开源免费下载工具
IDM 替代品 Gopeed 是一个开源免费的 Flutter 下载工具,支持 HTTP、BitTorrent、Magnet 等协议。项目采用 getx 进行构建,已获得 13k Star。功能包括多平台下载、自定义下载目录和并发数、代理设置等。它还拥有浏览器扩展和各种下载插件。开发者可以参考代码学习 Flutter 和 getx。项目源码可在 GitHub 上找到,同时提供了编译和配置指南。Gopeed 是一个值得尝试的现代化下载工具,适用于 Flutter 开发者和用户。
218 4
IDM 平替 Gopeed Flutter 开源免费下载工具
|
7月前
|
Dart 前端开发 开发者
【Flutter前端技术开发专栏】Flutter中的性能分析工具Profiler
【4月更文挑战第30天】Flutter Profiler是用于性能优化的关键工具,提供CPU、GPU、内存和网络分析。它帮助开发者识别性能瓶颈,如CPU过度使用、渲染延迟、内存泄漏和网络效率低。通过实时监控和分析,开发者能优化代码、减少内存占用、改善渲染速度和网络请求,从而提升应用性能和用户体验。定期使用并结合实际场景与其它工具进行综合分析,是实现最佳实践的关键。
351 0
【Flutter前端技术开发专栏】Flutter中的性能分析工具Profiler
|
7月前
|
前端开发 数据处理 Android开发
【Flutter 前端技术开发专栏】Flutter 中的调试技巧与工具使用
【4月更文挑战第30天】本文探讨了Flutter开发中的调试技巧和工具,强调其在及时发现问题和提高效率上的重要性。介绍了基本的调试方法如打印日志和断点调试,以及Android Studio/VS Code的调试器和Flutter Inspector的使用。文章还涉及调试常见问题的解决、性能和内存分析等高级技巧,并通过实际案例演示调试过程。在团队协作中,有效调试能提升整体开发效率,而随着技术发展,调试工具也将持续进化。
105 0
【Flutter 前端技术开发专栏】Flutter 中的调试技巧与工具使用
|
Dart 前端开发 API
Flutter笔记:手写一个简单的画板工具
1. 任务介绍Flutter笔记实现一个简单的画板工具作者目 录1. 任务介绍2. 知识点准备3. 代码实现与效果1. 任务介绍在本文中,我们将一起开发一个基本的Flutter画板应用,用户可以在画板上自由绘制,选择不同的颜色来绘制线条。这个画板应用将允许用户通过点击颜色选择按钮来选择画笔的颜色,并提供鼠标光标支持以增强用户体验。
369 0
|
7月前
|
JSON Dart 算法
Dart/Flutter工具模块:the_utils
Dart/Flutter工具模块:the_utils
90 0
|
7月前
|
编解码 搜索推荐 Android开发
Flutter笔记:发布一个模块 scale_design - (移动端)设计师尺寸适配工具
Flutter笔记:发布一个模块 scale_design - (移动端)设计师尺寸适配工具
129 0
|
缓存 安全 开发工具
一个很好用的Flutter SDK版本管理神器fvm
一个很好用的Flutter SDK版本管理神器fvm
一个很好用的Flutter SDK版本管理神器fvm