fvm 版本管理

参考

特点

  • 系统全局版本切换
  • 不同项目间可以多个版本切换
  • 支持桌面工具、cli 命令行、Docker 方式

安装

  • 安装 fvm
brew tap leoafarias/fvm
brew install leoafarias/fvm/fvm
  • 安装 sdk
fvm install 2.10.5
  • 设置全局
fvm global 2.10.5
  • 修改环境变量
code ~/.bash_profile

# flutter sdk
export PATH=${PATH}:~/fvm/default/bin

# dart sdk
export PATH=${PATH}:~/fvm/default/bin/cache/dart-sdk/bin
export PATH=${PATH}:~/.pub-cache/bin

  • vscode 配置

默认个情况 vscode 会从你的 PATH 中读取 sdk 位置,如果还是提示找不到,可以如下操作:

开设置setting.json 面板,加入 fvm 的默认位置

"dart.flutterSdkPath": "~/fvm/default/bin"
  • Android studio 设置

打开项目属性面板

~/fvm/default/bin

全局切换

  • 安装 3.0.1
fvm install 3.0.1
  • 设置当前默认
fvm global 3.0.1

项目单独版本

  • 进入项目目录
fvm use 3.0.1
  • vscode sdk 搜索

编辑 .vscode/settings.json

{
  "dart.flutterSdkPath": ".fvm/flutter_sdk",
  // Remove .fvm files from search
  "search.exclude": {
    "**/.fvm": true
  },
  // Remove from file watching
  "files.watcherExclude": {
    "**/.fvm": true
  }
}
  • Android Studio 忽略搜索目录

修改 .idea/workspace.xml

<component name="VcsManagerConfiguration">
  <ignored-roots>
    <path value="$PROJECT_DIR$/.fvm/flutter_sdk" />
  </ignored-roots>
</component>
  • Android Studio 调整 sdk 位置

Git 忽略 fvm/flutter_sdk

编辑 .gitignore

.fvm/flutter_sdk

其它

  • 卸载
brew uninstall leoafarias/fvm/fvm
brew untap leoafarias/fvm
  • 删除 sdk
fvm remove 2.10.5
  • 已安装的 sdk 列表
fvm list
  • 查看可安装的 sdk 版本
fvm release
  • 检查环境
fvm docctor

Sidekick 桌面应用

https://github.com/fluttertools/sidekick

  • 安装

https://github.com/fluttertools/sidekick/releases

  • 图形界面操作

  • 可设置中文

常见问题

  • Error: Formulae found in multiple taps: _ befovy/taps/fvm _ leoafarias/fvm/fvm

那我们指定安装 leoafarias/fvm/fvm

brew install leoafarias/fvm/fvm
  • OS Error: Too many open files, errno = 24

临时扩大线程栈空间

ulimit -S -n 2048
  • GitHub API Error: Bad credentials (GitHub::API::AuthenticationFailedError) The GitHub credentials in the macOS keychain may be invalid.

提示

Clear them with:
  printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase
Create a GitHub personal access token:
    https://github.com/settings/tokens/new?scopes=gist,repo,workflow&description=Homebrew
  echo 'export HOMEBREW_GITHUB_API_TOKEN=your_token_here' >> ~/.zshrc

我这边是建了 token 然后零时设置了

export HOMEBREW_GITHUB_API_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Last Updated:
Contributors: ducafecat