搜索插件、代码仓与 APP 分类

插件详情v4.3.2

fvm

一个简单的命令行工具,用于按项目管理 Flutter SDK 版本。支持渠道、发布版本以及本地缓存,实现快速切换版本。

Windows
近 30 天下载
19.7万
喜欢数
726
Pub 分数
130

安装插件

flutter pub add fvm

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

FVM(Flutter 版本管理器)是一个命令行工具,可简化在不同项目之间管理多个 Flutter SDK 版本的过程。它使开发者能够轻松在稳定版、Beta 版、开发版和主干版通道之间切换,以及使用特定版本。FVM 会将 Flutter SDK 本地缓存,实现快速切换,并确保每个项目使用其指定的版本。非常适合需要在多个具有不同 SDK 要求的 Flutter 项目中协作的团队。

适合场景

  • 在单一开发环境中管理多个Flutter版本
  • 在稳定版和 Beta 版 Flutter 通道之间切换
  • 确保团队成员之间 SDK 版本的一致性
  • 快速测试应用与不同 Flutter 版本的兼容性
  • 使用特定Flutter版本设置CI/CD流水线

主要特点

  • 按项目管理 Flutter SDK 版本
  • 支持所有 Flutter 渠道和版本
  • 本地 SDK 缓存以实现更快的切换
  • 简单的命令行界面
  • 通过 .fvm/config 文件自动版本解析

适合对象

  • 正在开发多个Flutter项目的开发者
  • 需要一致的 Flutter SDK 版本的团队
  • CI/CD 环境
  • 跨版本测试和调试

使用建议

  • 每个项目都需要设置 .fvm/config 文件
  • 仅限Windows平台,如所列
  • 可能需要在 IDE 中进行额外配置
  • 与绕过 SDK 路径的 Flutter 工具不兼容

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

fvm

GitHub stars Pub Version Pub Likes Pub Points All Contributors MIT License Codecov Awesome Flutter

FVM manages Flutter SDK versions per project. Switch between Flutter versions instantly without reinstalling, making it easy to test new releases and maintain consistent builds across your team.

Why FVM?

  • Need for simultaneous use of multiple Flutter SDKs.
  • SDK testing requires constant channel switching.
  • Channel switches are slow and need repeated reinstalls.
  • Difficulty managing the latest successful SDK version used in an app.
  • Flutter's major updates demand total app migration.
  • Inconsistencies occur in development environments within teams.

For more information, read the Getting Started guide.

Release Process (For Maintainers)

FVM uses GitHub releases to trigger automated deployments across all platforms:

Creating a New Release
  1. Ensure main branch is ready

    • All changes merged and tested
    • Version will be set automatically from release tag
  2. Create GitHub Release

    • Go to GitHub Releases
    • Click "Create a new release"
    • Choose tag: v4.0.0-beta.2 (follows semver with 'v' prefix)
    • Write release notes in GitHub editor
    • Click "Publish release"
  3. Automated Deployment

    • release.yml triggers automatically
    • Deploys to: pub.dev, GitHub binaries, Homebrew, Chocolatey, Docker
    • Monitor progress in Actions tab

Dart SDK requirements: Day-to-day development now targets the repository SDK constraint (>=3.6.0 <4.0.0). Release automation lives under tool/release_tool/ and requires Dart SDK >=3.8.0. CI pins this higher tool chain via the RELEASE_DART_SDK environment variable (currently 3.9.0) so it matches the versions packaged for Homebrew and other installers. If you run release tasks locally, switch to a Dart SDK 3.8.0 or newer before executing commands from tool/release_tool/.

Emergency Releases

For hotfixes or emergency releases:

  1. Update version manually in pubspec.yaml
  2. Use individual platform workflows via manual dispatch:
    • deploy_homebrew.yml for Homebrew updates
    • deploy_docker.yml for Docker deployment
    • Individual platform deployments as needed

For complete emergency deployment, create a GitHub release as normal.

See Workflow Documentation for detailed information.

Contributors


Checkout Flutter Sidekick. Read more about it here.

Troubleshooting

Please view our FAQ.

License

This project is licensed under the MIT License; see LICENSE file for details.

所属分类

依赖

依赖清单 22 项

源码仓库

使用此插件的项目