flutter 多版本管理 fvm

2,727 阅读2分钟

fvm 通过引用每个项目使用的 Flutter SDK 版本来帮助满足一致的应用程序构建的需求。它还允许您安装多个 Flutter 版本,以便使用您的应用程序快速验证和测试即将发布的 Flutter 版本,而无需每次都等待 Flutter 安装

fvm 可以两种模式使用 全局/虚拟环境

  • 为啥使用fvm

    • 不同的项目可能同时需要多个 Flutter SDK。
    • 测试新的 SDK 功能需要在Channels之间切换。
    • 版本切换很慢,每次都需要重新安装。
    • 无法保持应用程序中 SDK 的最新工作/使用版本。
    • Flutter 更新会影响所有 Flutter 项目。
    • 团队中开发人员之间的开发环境不一致。
  • 如何安装

    • 从 GitHub 存储库下载

    • Mac OS X/Linux下通过Homebrew包管理器安装

      # 安装
      brew tap leoafarias/fvm
      brew install fvm
      # 卸载
      brew uninstall fvm
      brew untap leoafarias/fvm
      
    • Windows下通过choco包管理器安装

      # 安装
      choco install fvm
      
  • 如何配置

    • 环境变量配置
      • 安装fvm后,设置环境变量 FVM_HOME 或 FVM_GIT_CACHE
      # 以mac为例
      # 如果不设置,默认的 flutter SDK 缓存路径为 ~/fvm/versions
      # ~/.zshrc
      export FVM_HOME="$HOME/.fvm"
      # 全局flutter 配置(default为切换后的flutter版本软链接)
      export PATH=$HOME/.fvm/default/bin:$PATH
      # 常规flutter 配置
      export PUB_HOSTED_URL=https://pub.flutter-io.cn
      export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
      
    • IDE配置
      • vscode
        • 可全局配置 vscode(~/Library/Application\ Support/Code\ -\ Insiders/User/settings.json)
          # 以mac为例
          {
              "dart.flutterSdkPaths": [
                  "/Users/usr/fvm/versions/stable",
                  "/Users/usr/fvm/versions/dev"
              ]
          }
          # 然后在 vscode 控制面板中执行 Flutter: Change SDK 切换 Flutter SDK 版本,
          # 将同步记录到当前项目的 vscode 配置文件 .vscode/settings.json 中(dart.flutterSdkPath)
          
        • 也可直接编辑当前项目的 vscode 配置文件 .vscode/settings.json
          # 以mac为例
          {
              "dart.flutterSdkPath": ".fvm/flutter_sdk",
              # or "dart.flutterSdkPaths": [".fvm/flutter_sdk"]
              
              # Remove .fvm files from search
              "search.exclude": {
                  "**/.fvm": true
              },
              # Remove from file watching
              "files.watcherExclude": {
                  "**/.fvm": true
              }
          }
          
      • android studio
        • preferences-》Flutter-》Flutter SDK path (填写绝对路径)
          • 全局模式:/Users/mac/.fvm/default
          • 虚拟环境模式(项目中所有的flutter命令需要用 fvm flutter替换):/项目根目录绝对路径/.fvm/flutter_sdk
  • 如何使用

    # 查看现有远程版本
    fvm releases list
    
    # 安装flutter版本
    fvm install 3.7.10
    
    # 卸载flutter版本
    fvm remove 3.7.10
    
    # 查看本地已装的版本
    fvm list installed versions
    
    # 在程序根目录设置flutter版本
    fvm use 3.7.10
    
    # 设置全局版本
    fvm global 3.7.10
    
    # 项目目录下执行,可获取当前的使用版本
    fvm list
    
    # 在当前项目目录下执行,可获取当前项目的flutter版本
    fvm flutter --version
    
    # 在当前项目目录下执行,清理项目缓存
    fvm flutter clean
    
    # 在当前项目目录下执行,获取依赖包
    fvm flutter pub get
    
    # 在当前项目目录下执行,项目运营
    fvm flutter run