• Win10使用fvm管理多个Flutter版本


    Win10使用fvm管理多个Flutter版本

    参考:https://blog.csdn.net/PyMuma/article/details/115298645

    1、升级Flutter

    由于现在的fvm需要新版Flutter支持,如果已经安装了旧版Flutter,必须升级后才能成功安装fvm。在旧版Flutter环境即使fvm安装完成,运行fvm命令也会闪退。具体步骤如下:

    1.1、升级之前,备份原来的(1.22.6)整改Flutter目录r:\Flutter\FlutterSDK\flutter

    1.2、打开的CMD窗口,为避免升级报错,修改git缓存值大小:

    git config --global http.postBuffer 524288000

    1.3、使用代理升级:

    git config --global --unset http.proxy

    1.4、不用开代理,使用 --force 强制升级:

    flutter upgrade --force

    速度不错,整个过程大约需要5-10分钟。

    另外,可以用git reset,可以指定到某个版本,也可以回退版本

    回退版本,进入flutter的目录下,运行指令:git reset --hard commit-id

    使用flutter --version 查看版本,此时会自动下载对应版本的Dart

    1.5、升级成功后,运行flutter –version监测版本号为:2.10.2

    C:\Users\WinUser01>flutter --version

    Flutter 2.10.2 • channel stable • https://github.com/flutter/flutter.git

    Framework • revision 097d3313d8 (11 days ago) • 2022-02-18 19:33:08 -0600

    Engine • revision a83ed0e5e3

    Tools • Dart 2.16.1 • DevTools 2.9.2

    2、升级成功后,开始下载安装FVM

    2.1、由于旧版Flutter路径已经添加到path,

    r:\Flutter\FlutterSDK\flutter\bin

    r:\Flutter\FlutterSDK\flutter\bin\cache\dart-sdk\bin

    所以,只需打开CMD窗口

    2.2、在打开的CMD窗口中,运行下面命令:

    pub global activate fvm

    进行fvm的下载安装,耐心等待,网络不够好的,可能需要一些时间。不用开代理,实际用时2-3分钟。安装之后有提示:

    Warning: Pub installs executables into C:\Users\WinUser01\AppData\Local\Pub\Cache\bin, which is not on your path.

    You can fix that by adding that directory to your system's "Path" environment variable.

    2.3、上述方式安装的fvm默认安装在用户目录下面。安装之后,需要在系统path中添加:C:\Users\WinUser01\AppData\Local\Pub\Cache\bin,才能成功运行fvm命令。

    2.4、下载安装完成后,可以修改一下fvm文件缓存地址,以免以后下载的flutter sdk全部都下载C盘,C盘空间很珍贵的。比如,配置系统环境变量FVM_HOME指向r:\Flutter\FlutterSDK\

    2.5、默认fvm的下载地址是在C盘,用下面命令修改fvm缓存地址:

    fvm config --cache-path r:\Flutter\FlutterSDK\

    3、下载安装Flutter SDK

    3.1、如果网络条件允许可以直接使用类似fvm install 2.0.1命令进行下载安装。

    3.2、建议最好到Flutter中文资源网https://flutter.cn/docs/development/tools/sdk/releases,使用IDM等软件下载压缩包,解压到r:\Flutter\FlutterSDK\文件夹中。

    3.3、注意:

    A、2.10.2版本。现在的r:\Flutter\FlutterSDK\flutter目录为安装fvm之前的版本,原来为1.22.6,上面已经通过flutter upgrade –force升级到2.10.2。现在只需将其更改为2.10.2即可作为新版本使用;

    B、1.22.6版本。1.22.6使用升级之前的备份目录r:\Flutter\FlutterSDK\flutter,只是将目录名改为1.22.6即可

    C、2.0.1版本,为新下载版本

    3.4、为保证兼容性,需要将系统path中的默认Flutter路径修改为:

    r:\Flutter\FlutterSDK\2.10.2\bin

    r:\Flutter\FlutterSDK\2.10.2\bin\cache\dart-sdk\bin

    若默认Flutter路径修改为1.22.6、或2.0.1,fvm命令都会报错:

    C:\Users\WinUser01>fvm list

    Can't load Kernel binary: Invalid kernel binary format version.

    fvm 2.2.6 doesn't support Dart 2.10.5.

    路径修改好后,可以在CMD窗口运行fvm list进行查看。其中1.22.6、2.0.1、2.10.2便是下载的3个版本。

    查看flutter目录的版本号,可以打开flutter目录下的version文件进行查看。

     

    4、Flutter SDK使用和版本切换

    4.1、在CMD窗口通过fvm list可以查看fvm中已经缓存的所有sdk版本

    4.2、在CMD窗口通过fvm use <version>命令切换和使用相应的sdk版本。

    注意,使用fvm use命令时一定要在管理员模式下打开,否侧无法切换,会提示权限不够的报错提示:

    fvm:Cannot link flutter to dest D:\fvm\versions\2.0.3: symlink D:\fvm\versions\2.0.3 D:\fvm\current: A required privilege is not held by the client.

    4.3、通过fvm current查看当前使用的sdk版本。

    4.4、切换完成后使用fvm flutter doctor。因为每个版本不一样,所以可能需要重新下载运行环境。

    4.5、配置之后,原有的flutter命令前全部加上 fvm 例如:

    fvm flutter build apk

    5、Android Studio中Flutter项目的版本设置

    5.1、注意,原来使用旧版r:\Flutter\FlutterSDK\flutter\的项目,都需要手动修改使用的flutter版本目录,比如R:\Flutter\FlutterSDK\1.22.6。

     

    5.2、如果指向R:\Flutter\FlutterSDK\1.22.6,报安装的版本没有完成,只需双击运行其中的:

    r:\Flutter\FlutterSDK\1.22.6\bin\dart.bat

    该命令会自动下载安装相关组件到r:\Flutter\FlutterSDK\1.22.6\bin\cache\,当然,也可以拷贝使用原来的r:\Flutter\FlutterSDK\1.22.6\bin\cache\目录。

    运行完成后便不会再报错。不过,使用新的Flutter版本,第一次编译需要下载一些组件,需要耐心等待。

     

    5.3、原来的旧版项目选择Flutter 1.22.6编译运行成功,r:\FlutterProject\FlutterProject51-hyzp_ybqx\hyzp_ybqx\

    5.4、需要新版flutter支持的项目选择Flutter 2.0.1编译运行成功(选择Flutter 2.10.2编译失败),r:\FlutterProject\FlutterProject55-plugin_learn\flutter_scankit-1.2.3\

  • 相关阅读:
    Hadoop组件
    Vmworkstation启用错误
    sqoop
    ZooKeeper02
    动物管理员--zooKeeper-01
    IP-v4&IP-v6
    hive 基础
    ssh连接失败,排错经验
    Hadoop管理员的十个最佳实践
    OSGi在淘宝内部的使用
  • 原文地址:https://www.cnblogs.com/ybmj/p/15955420.html
Copyright © 2020-2023  润新知