【Flutter开发】让 Flutter SDK 多版本共存 - fvm

1,928 阅读1分钟

安装 fvm

$ dart pub global activate fvm

Resolving dependencies... (1.4s)
+ args 2.3.0
+ charcode 1.3.1
+ cli_notify 0.0.3
+ cli_util 0.3.5
+ collection 1.15.0
+ console 4.1.0
+ date_format 2.0.4
+ fvm 2.2.6
+ io 1.0.3
+ meta 1.7.0
+ path 1.8.0
+ process_run 0.12.2+2
+ pub_semver 2.1.0
+ source_span 1.8.1
+ string_scanner 1.1.0
+ synchronized 3.0.0
+ term_glyph 1.2.0
+ tint 2.0.0
+ vector_math 2.1.1
+ yaml 3.1.0
Downloading fvm 2.2.6...
Downloading vector_math 2.1.1...
Downloading process_run 0.12.2+2...
Building package executables... (1.2s)
Built fvm:main.
Installed executable fvm.
Activated fvm 2.2.6.

安装完后,可自定义相关配置,详见 官方文档,但建议保持默认~

安装 Flutter SDK

$ fvm install 2.5.2

Flutter "2.5.2" is not installed.

Installing version: 2.5.2...
Cloning into '/Users/mengxinxin/fvm/versions/2.5.2'...
remote: Enumerating objects: 350302, done.        
remote: Total 350302 (delta 0), reused 0 (delta 0), pack-reused 350302        
Receiving objects: 100% (350302/350302), 172.16 MiB | 6.50 MiB/s, done.
Resolving deltas: 100% (269095/269095), done.
Updating files: 100% (5957/5957), done.
HEAD is now at 3595343e20 [flutter_releases] Flutter stable 2.5.2 Framework Cherrypicks (#91047)
Downloading Dart SDK from Flutter engine 6ac856380fa4f66469552ce986edf59f65f7cd68...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  219M  100  219M    0     0  8671k      0  0:00:25  0:00:25 --:--:-- 13.6M
Building flutter tool...
VersionCheckError: Command exited with code 128: git fetch __flutter_version_check__ stable
Standard error: fatal: unable to access 'https://github.com/flutter/flutter.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 

Flutter 2.5.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 3595343e20 (3 months ago) • 2021-09-30 12:58:18 -0700
Engine • revision 6ac856380f
Tools • Dart 2.14.3

默认 Flutter SDK

$ fvm global 2.5.2

Flutter "2.5.2" has been set as global

配置环境变量

主要变动为如下地方,其他忽略:

# ~/.bash_profile

export FVM_HOME=$HOME/fvm
export FLUTTER_ROOT=$FVM_HOME/default

并执行 source ~/.bash_profile 以生效改动

配置 Android Studio

如图,把 flutter sdk path 改为 FLUTTER_ROOT 的值(可通过 $ echo $FLUTTER_ROOT 查看),并保存即可

切换全局的默认 Flutter SDK 版本

# 若没有安装过目标版本,需要先安装下
fvm install x.y.z

# 全局切换
fvm global x.y.z

切换特定工程所用的 Flutter SDK 版本

因为要修改 IDE 的配置,所以在此就不推荐了,详见官网文档

注意事项

通过 fvm install x.y.z 新下载的 Flutter SDK,其目录下会少很多文件,

可以通过「随便创建一个 flutter 工程,并运行」的方式来解决,效果如下: