hhstore / blog

My Tech Blog: about Mojo / Rust / Golang / Python / Kotlin / Flutter / VueJS / Blockchain etc.
https://github.com/hhstore/blog/issues
278 stars 22 forks source link

Flutter 2: migrate to flutter 2.0.x #253

Open hhstore opened 3 years ago

hhstore commented 3 years ago

related:

hhstore commented 3 years ago

迁移到 flutter 2.0.x:

status:

2021-05-21 update:

截止当前, 请不要迁移到 flutter 2.0.x

ref:

阶段性迁移步骤:

1. 本项目内迁移+修复:

1.1 修改 dart 版本:


environment:
  sdk: '>=2.12.0 <3.0.0'

1.2 根据 IDE 提示, 逐个修复错误.

1.3 编译+运行:


// @dart=2.9
import 'src/my_app.dart';

main() {
  //...
}

2. 项目依赖库迁移:

dart pub outdated --mode=null-safety

flutter pub get
hhstore commented 3 years ago

依赖包 check:


dart pub outdated --mode=null-safety

# 升级包:
dart pub upgrade --null-safety

dart migrate
environment:
  sdk: '>=2.12.0 <3.0.0'

运行方式:


flutter run --no-sound-null-safety
hhstore commented 3 years ago

迁移 2.0 步骤:

1. 安装 2.0.x 版本:

当前版本:

-> % fvm flutter --version
Flutter 1.22.5 • channel unknown • unknown source
Framework • revision 7891006299 (4 个月前) • 2020-12-10 11:54:40 -0800
Engine • revision ae90085a84
Tools • Dart 2.10.4

已 release 的 2.0 版本情况:


-> % fvm releases

--------------------------------------
Mar 13 21  │ 2.1.0-12.1.pre    dev
--------------------------------------
Mar 15 21  │ 2.0.2            
--------------------------------------
Mar 18 21  │ 2.1.0-12.2.pre    beta
--------------------------------------
--------------------------------------
Mar 19 21  │ 2.0.3             stable
--------------------------------------

安装 2.0.3 版本:

-> % fvm install 2.0.3
Installing version: 2.0.3
正克隆到 '/Users/henry/.fvm/versions/2.0.3'...
remote: Enumerating objects: 286668, done.        
remote: Total 286668 (delta 0), reused 0 (delta 0), pack-reused 286668        
接收对象中: 100% (286668/286668), 131.79 MiB | 643.00 KiB/s, 完成.
处理 delta 中: 100% (220856/220856), 完成.
Version installed: 2.0.3
Downloading Dart SDK from Flutter engine 3459eb24361807fb186953a864cf890fa8e9d26a...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  195M  100  195M    0     0  10.8M      0  0:00:17  0:00:17 --:--:-- 10.6M
Building flutter tool...
Flutter 2.0.3 • channel unknown • unknown source
Framework • revision 4d7946a68d (11 天前) • 2021-03-18 17:24:33 -0700
Engine • revision 3459eb2436
Tools • Dart 2.12.2

项目切换到 2.0 版本:


-> % fvm use 2.0.3 --global
The global Flutter version is now 2.0.3
Make sure to add /Users/henry/.fvm/default/bin to your PATH environment variable
Project now uses Flutter: 2.0.3

___________________________________________________

FVM Update Available 1.3.7 → 1.3.8 
Changelog: https://pub.dev/packages/fvm/changelog
Run pub global activate fvm to update

___________________________________________________

项目内切换 2.0 版本:


fvm use 2.0.3

# 确认切换成功: 
fvm flutter --version
Flutter 2.0.3 • channel unknown • unknown source
Framework • revision 4d7946a68d (11 天前) • 2021-03-18 17:24:33 -0700
Engine • revision 3459eb2436
Tools • Dart 2.12.2

升级 fvm 工具:

pub global activate fvm
hhstore commented 3 years ago

flutter 2.x 依赖包检测:

flutter 2.x 新特性:

hhstore commented 3 years ago

flutter 2.x 创建一个新项目:

flutter 2.x 使用:

构建/发布:

hhstore commented 3 years ago

dart 发布一个包:

发布 dart null safety 包:

environment:
  sdk: '>=2.12.0 <3.0.0'
  flutter: ">=2.0.0"