flutter 版本控制第二节

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

安卓 studio

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


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

Flutter 版本切换

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


Cache Directory:  D:\fvm\versions
2.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 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> 进行查看,比如:


$ fvm help useWhich 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 版本或频道。


Usage:    fvm install - # 安装在项目配置中找到的版本    fvm install {version} - # 安装特定版本 Option:    -h, --help          Print this usage information.    -s, --skip-setup    Skips Flutter setup after install

复制代码

删除

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


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.

复制代码

releases

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


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

复制代码

doctor

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


Usage:    fvm doctor
Option:    -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 版本不兼容。


请执行以下操作:


  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)

相关文章
|
14天前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
111 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
3月前
深入理解Flutter鸿蒙next版本 中的Widget继承:使用extends获取数据与父类约束
本文详细介绍了Flutter中如何通过继承其他Widget来创建自定义组件。首先解释了Widget继承的基本概念,包括StatelessWidget和StatefulWidget的区别。接着通过具体示例展示了如何继承StatelessWidget和StatefulWidget,并在子类中访问父类的build方法和状态。最后,结合多个自定义Widget展示了如何在实际应用中灵活使用继承和组合来构建复杂的UI。
108 8
|
3月前
|
Dart UED 开发者
flutter鸿蒙版本通过底部导航栏的实现熟悉架构及语法
这篇博客详细解析了一个 Flutter 应用的完整代码,实现了带有底部导航栏的功能,允许用户在不同页面之间切换。通过逐行讲解,帮助读者理解 Flutter 的结构、状态管理和组件交互。代码涵盖了从引入包、创建主入口、定义无状态和有状态组件,到构建用户界面的全过程。希望对 Flutter 开发者有所帮助。
183 3
|
3月前
|
存储 Dart 前端开发
flutter鸿蒙版本mvvm架构思想原理
在Flutter中实现MVVM架构,旨在将UI与业务逻辑分离,提升代码可维护性和可读性。本文介绍了MVVM的整体架构,包括Model、View和ViewModel的职责,以及各文件的详细实现。通过`main.dart`、`CounterViewModel.dart`、`MyHomePage.dart`和`Model.dart`的具体代码,展示了如何使用Provider进行状态管理,实现数据绑定和响应式设计。MVVM架构的分离关注点、数据绑定和可维护性特点,使得开发更加高效和整洁。
197 3
|
3月前
|
Dart UED
在 Flutter鸿蒙next版本 中使用 if 语句和三元表达式进行视图逻辑判断
在 Flutter 开发中,构建动态和响应式的用户界面是核心任务。本文详细探讨了如何使用 if 语句、三元表达式等方法进行视图逻辑判断,并提供了示例代码。通过这些方法,可以根据不同条件动态渲染组件,提高用户体验。文章还强调了保持代码可读性和合理使用匿名函数的最佳实践。
108 2
|
3月前
|
JSON Dart 数据处理
flutter鸿蒙版本数据处理常用总集
本文介绍了在 Flutter 中如何本地访问 JSON 文件,包括确保文件路径正确、更新 `pubspec.yaml` 配置、正确加载 JSON 文件的方法。同时,详细讲解了如何在 Flutter 中使用 `dart:convert` 库进行 JSON 与 Map、Dart 对象之间的相互转换,提供了多个示例代码,帮助读者更好地理解和应用这些技术。
51 1
|
3月前
|
Dart 搜索推荐 API
Flutter & 鸿蒙next版本:自定义对话框与表单验证的动态反馈与错误处理
在现代移动应用开发中,用户体验至关重要。本文探讨了如何在 Flutter 与鸿蒙操作系统(HarmonyOS)中创建自定义对话框,并结合表单验证实现动态反馈与错误处理,提升用户体验。通过自定义对话框和表单验证,开发者可以提供更加丰富和友好的交互体验,同时利用鸿蒙next版本拓展应用的受众范围。
128 1
|
4月前
|
Dart UED 索引
flutter鸿蒙版本通过底部导航栏的实现熟悉架构及语法
flutter鸿蒙版本通过底部导航栏的实现熟悉架构及语法
48 2
|
3月前
|
存储 UED 开发者
Flutter鸿蒙版本灵活使用方法间的回调处理复杂化的逻辑
在 Flutter 开发中,灵活使用函数回调可以提高代码的可重用性、简化异步编程、增强解耦设计和提升用户体验。本文通过一个简单的示例,展示了如何在 Flutter 中实现函数调用和回调的基本使用。示例代码包括主入口、页面组件和回调函数的定义与调用,详细解析了每个部分的功能和作用。通过这种方式,开发者可以在操作完成后执行特定逻辑,使代码更易读和维护。
111 0
|
人工智能 Dart 算法
Flutter AI版本五子棋
在上一篇文章中,讲解了如何实现双人在本地对战的五子棋,但是只有一个人的时候就不太好玩,同时博主也没有把五子棋相关的文章写过瘾。那么这篇文章,我们来实现一个功能更加丰富的五子棋吧!

热门文章

最新文章

  • 1
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 2
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 3
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 4
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 5
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 6
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 7
    零基础构建即时通讯开源项目OpenIM移动端-Flutter篇
  • 8
    flutter3-dart3-dymall原创仿抖音(直播+短视频+聊天)商城app系统模板
  • 9
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 10
    【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 1
    零基础构建即时通讯开源项目OpenIM移动端-Flutter篇
    51
  • 2
    flutter3-dart3-dymall原创仿抖音(直播+短视频+聊天)商城app系统模板
    34
  • 3
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    137
  • 4
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    35
  • 5
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
    70
  • 6
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    111
  • 7
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    73
  • 8
    flutter开发中Use ‘const’ with the constructor to improve performance. Try adding the ‘const’ keyword to the constructor invocation.报错如何解决-优雅草卓伊凡
    18
  • 9
    【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    25
  • 10
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    116