Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Flutter版本控制工具 FVM(第六节)

Flutter版本控制工具 FVM(第六节)

作者头像
徐建国
发布于 2021-11-30 12:32:31
发布于 2021-11-30 12:32:31
2.6K00
代码可运行
举报
文章被收录于专栏:个人路线个人路线
运行总次数:0
代码可运行

FVM 切换VSCode 的Flutter版本

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

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

chocopub

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

在windows上安装fvm

方法一:先安装 choco

官网:

https://chocolatey.org/

powershell 管理员身份运行命令行

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

输入命令

  • cmd 安装 直接拷贝执行即可,注意需要管理员身份运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@"%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 安装
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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'))
检查安装是否成功
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
choco -v
  • 更新
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
choco upgrade chocolatey

可以安装成功

常用指令

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

choco search nodejs 查找安装包

choco install sublimetext3 下载

choco uninstall sublimetext3 卸载

choco upgrade sublimetext3 更新(update)

接下来安装fvm

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 choco install fvm

方法二:pub方式安装 fvm

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pub global activate fvm

可以设置系统环境变量、

1.语法示例

VSCode配置

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "dart.flutterSdkPaths": ["D:/fvm/versions""]
}

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// copy this path
Versions path:  $YOUR_PATH/fvm/versions

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

初始化项目

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ fvm flutter create .

安卓studio

  1. 前往Languages & Frameworks -> Flutter或搜索 Flutter 并更改 Flutter SDK 路径。
  2. 将fvm 符号链接的***绝对***路径复制到您的项目根目录中。例子:/absolute-path/.fvm/flutter_sdk
  3. 应用更改。
  4. 重新启动 Android Studio 以查看应用的新设置。

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

Flutter版本切换

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Cache Directory:  D:\fvm\versions

2.5.1
2.5.0
2.2.3
1.20.4

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PS E:\work\dc-client\app_proj> fvm use 1.20.4
Project now uses Flutter [1.20.4]

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

项目

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.fvm/flutter_sdk.gitignore

.fvm/flutter_sdk

缓存目录

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

列出配置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fvm config

设置缓存路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fvm config --cache-path <CACHE_PATH>

配置

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

常用命令

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ 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.
  • config:对 fvm 进行配置
  • flutter:对 Flutter 的命令进行代理
  • install:安装 Flutter 版本
  • list:查看已安装的 Flutter 版本
  • releases:查看 Flutter sdk 都有哪些发布的版本
  • remove:删除已安装的某个 Flutter 的版本
  • use: 选择你要使用的版本
  • version: 查看安装 fvm 的版本

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ 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.
  • -h,--help :可以查看更多使用信息
  • --global: 将这个版本设置为全局版本
  • --force: 跳过执行 Flutter 项目检查命令

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

安装

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Usage:
    fvm install - # 安装在项目配置中找到的版本
    fvm install {version} - # 安装特定版本 
Option:
    -h, --help          Print this usage information.
    -s, --skip-setup    Skips Flutter setup after install

删除

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Usage:
    fvm remove {version}

Option:
    -h, --help     Print this usage information.
        --force    Skips version global check.

列出

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Usage:
    fvm list

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

releases

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Usage:    fvm releasesOption:    -h, --help     Print this usage information.

doctor

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Usage:    fvm doctorOption:    -h, --help     Print this usage information.

路由

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

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

配置全局版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fvm global {version}

项目多个选项

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{  "flutterSdkVersion": "stable",  "flavors": {    "dev": "beta",    "staging": "2.0.3",    "production": "1.22.6"  }}

针对不用flavor版本

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fvm use {version} --flavor {flavor_name}

切换flavor版本

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fvm flavor {flavor_name}

查看flavor

列出所有配置的口味:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fvm flavor

常见问题

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

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

请执行以下操作:

  1. Windows 上,请确保您的 env 变量按[PATH 中 Windows 的环境变量]顺序所述的顺序排列。
  2. dart pub global deactivate fvm
  3. dart pub global activate fvm

PATH 中 Windows 的环境变量顺序

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

  1. 全局包的发布缓存
  2. Dart SDK(如果安装在 Flutter 之外)
  3. 颤振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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 坚果前端 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
flutter 版本控制fvm
powershell 管理员身份运行 不会的话,先打开一个powershell 窗口 ,然后右击任务栏,选择第一个,即可进入
徐建国
2021/07/30
9300
flutter 版本控制fvm
Flutter版本控制fvm
安装fvm后,考虑设置环境变量 FVM_HOME 或 FVM_GIT_CACHE,否则默认安装 flutter SDK 缓存路径为 ~/fvm/versions;
徐建国
2021/08/25
2.3K0
鸿蒙版 Flutter 版本管理利器:FVM 使用指南
FVM(Flutter Version Manager)是一个专门为 Flutter 应用开发设计的版本管理工具。它允许开发者在同一台机器上安装和管理多个 Flutter 版本,解决了团队协作和项目迁移时因 Flutter 版本差异导致的兼容性问题。它允许开发者在不同的 Flutter 项目之间快速切换版本,而无需每次都下载和配置新的 Flutter SDK
徐建国
2025/05/13
860
鸿蒙版 Flutter 版本管理利器:FVM 使用指南
Flutter 找不到 android sdk(图文详解)记一次安装中错误的过程
周末的时候升级了windows11的系统,之后再安装flutter的时候遇到下面的问题就做了一下记录 至于如何安装flutter,我在前面的教程里也有写到,就不再阐述。这次我安装的时候用了fvm版本控制工具,
徐建国
2021/11/30
2.5K0
Flutter 找不到 android sdk(图文详解)记一次安装中错误的过程
Flutter开发环境搭建
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。flutter发布的最新版已经支持pc端了。
若与
2019/05/15
1.1K0
Flutter开发环境搭建
FVM 一秒切换VSCode 的Flutter版本
FVM 可以在用户本机通过安装多个Flutter SDK版本,来为项目指定Flutter版本,或者快速在各个版本间切换,解决只有一个Flutter版本对不同项目兼容问题。参考链接
Qson
2022/04/11
2.6K0
FVM 一秒切换VSCode 的Flutter版本
鸿蒙Flutter实战:11-使用 Flutter SDK 3.22.0
参考鸿蒙Flutter实战:01-搭建开发环境文章的说明,首先安装 Flutter SDK 3.22.0。
少湖说
2024/11/03
5940
鸿蒙Flutter实战:11-使用 Flutter SDK 3.22.0
将Flutter程序打包为ios应用并进行安装使用
为设备(ios-release)构建com.example.myTimeApp... ════════════════════════════════════════════════════════════════════════════════ 找不到有效的代码签名证书 您可以通过在Xcode中使用您的Apple ID登录并创建iOS开发证书以及为您的项目创建一个 配置文件来连接到您的Apple开发者帐户,方法如下: 1- 使用以下命令打开Flutter项目的Xcode目标: open ios/Runner.xcworkspace 2- 在导航器中选择“Runner”项目,然后选择“Runner”目标 在项目设置中 3- 确保在Signing & Capabilities > Team下选择了“Development Team”。 您可能需要: - 首先使用您的Apple ID在Xcode中登录 - 确保您拥有一个有效的唯一Bundle ID - 使用您的Apple开发者帐户注册您的设备 - 让Xcode自动为您的应用程序配置配置文件 4- 再次构建或运行您的项目 5- 在iOS设备上信任您新创建的开发证书 通过设置 > 通用 > 设备管理 > [您的新证书] > 信任
fliter
2024/05/11
5350
将Flutter程序打包为ios应用并进行安装使用
鸿蒙Flutter实战:01-搭建开发环境
1.安装 DevEco Studio NEXT IDE, 注意版本应该是 Next,当前最新的是 Beta3
少湖说
2024/10/21
3240
鸿蒙Flutter实战:01-搭建开发环境
choco 安装 和 mkcert 本地https
原文链接:https://blog.spiritling.cn/posts/4cb12659/
SpiritLing
2020/07/20
1.4K0
choco 安装 和 mkcert 本地https
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutte
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-卓伊凡换人优雅草Alex
卓伊凡
2025/02/02
1960
React Native学习笔记(二)—— 概要、开发环境搭建、第一个React Navite程序
在移动端开发项目中。开发资源不够时,同时由两个团队维护安卓和IOS两套原生APP是成本很高的。此时,就需要选择一个同时支持多平台的客户端开发框架,能够使用一套代码,编译出多平台的APP。
张果
2023/04/01
3.7K0
React Native学习笔记(二)—— 概要、开发环境搭建、第一个React Navite程序
Flutter自制工具之fluct助力Flutter快速开发神器
一个帮助开发Flutter应用程序的工具 .---------------------------------------------- | github地址: | https://github.com/rhymelph/fluct | pub地址: | https://pub.dev/packages/fluct `----------------------------------------------
rhyme_lph
2020/03/20
8320
Flutter自制工具之fluct助力Flutter快速开发神器
端开发技术——5个高效的Flutter开发工具
![](https://img-blog.csdnimg.cn/38fbbdcb183a4cb4b51ed03edc91a9fe.png)
思想者杰克
2021/11/04
8860
端开发技术——5个高效的Flutter开发工具
flutter实战项目之博客项目
https://www.bilibili.com/video/bv1uy4y1t7LX
徐建国
2021/11/30
9210
flutter实战项目之博客项目
在WSL2中安装CentOS发行版
通过使用 tar 文件导入任何 Linux 发行版,可在适用于 Linux 的 Windows 子系统 (WSL) 中使用该发行版(即使它不在 Microsoft Store 中提供)。
AiDBA宝典
2023/04/26
11K0
在WSL2中安装CentOS发行版
程序员该如何把 Windows 系统打造的跟 Mac 一样牛逼?
起因:之前一直用Mac开发,换了家公司,只许用Windows下开发,说实话,一开始我是拒绝的,可自从看到了这几个工具以后......
Ai学习的老章
2021/01/12
6810
程序员该如何把 Windows 系统打造的跟 Mac 一样牛逼?
Flutter 2.10 升级填坑指南
事实上按照 Flutter 每个版本的投入使用规律,应该是第三个小版本最稳,以 Flutter 目前庞大的用户量,每次正式版的发布必然带来各种奇奇怪怪的问题,一般情况下我推荐 2.10 版本等到 2.10.3 发布再投入生产会更稳妥,但是如果你等不及官方 hotfix ,那么后面的内容可能可以帮助到你。
GSYTech
2022/03/04
1.5K0
Flutter 2.10 升级填坑指南
React Native在Android当中实践(二)——搭建开发环境
React Native在Android当中实践(一)——背景介绍 React Native在Android当中实践(二)——搭建开发环境 React Native在Android当中实践(三)——集成到Android项目当中 React Native在Android当中实践(四)——代码集成 React Native在Android当中实践(五)——常见问题
Demo_Yang
2018/10/15
1.2K0
Win下必备神器之Cmder
诚言,对于开发码字者,Mac和Linux果断要比Windows更贴心;但只要折下,Windows下也是有不少利器的。之前就有在Windows下效率必备软件一文中对此做了下记载;其虽没oh-my-zsh那么逆天的存在,却也甚是好用,至少要比Windows原生Cmd好出了天际。因为好用,所以“必备”。 ---- 『有则推荐』: 自 2017 年初,就有开始利用闲余时光,打磨个人最新作品——「倾城之链」 ,有意将其打造成优良开放型平台,旨在云集全球优秀网站,让您更为便捷地探索互联网中那更广阔的世界;在这里,您可以
晚晴幽草轩轩主
2018/03/27
3.1K0
相关推荐
flutter 版本控制fvm
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验