flu-cli V1 → V2 迁移指南
📋 快速对照表
命令变化
| V1 命令 | V2 命令 | 说明 |
|---|---|---|
flu-cli create -n my_app -m normal | flu-cli new my_app --template modular | ✅ 推荐 |
flu-cli create -n my_app -m normal | flu-cli create my_app --template modular | ✅ 兼容(V2 参数) |
参数对照
| V1 参数 | V2 参数 | 示例 |
|---|---|---|
-n, --project-name <name> | [project-name] | new my_app |
-m, --template-type <type> | -t, --template <type> | --template modular |
-s, --state-manager <type> | -s, --state <type> | --state getx |
-d, --parent-dir <path> | -d, --dir <path> | --dir ~/projects |
模板名称映射
| V1 模板 | V2 模板 | 说明 |
|---|---|---|
only | lite | 轻量级 |
min | modular | 模块化 |
normal | modular | 模块化 |
pro | clean | Clean架构 |
状态管理映射
| V1 | V2 | 说明 |
|---|---|---|
state | default | 默认State |
GetX | getx | GetX (小写) |
🔄 常见场景迁移
场景 1:创建基础项目
V1:
bash
flu-cli create -n my_app -m normal -s GetXV2 (推荐):
bash
flu-cli new my_app --template modular --state getxV2 (兼容):
bash
flu-cli create my_app --template modular --state getx场景 2:指定存放目录
V1:
bash
flu-cli create -n my_app -m pro -s GetX -d ~/projectsV2:
bash
flu-cli new my_app --template clean --state getx --dir ~/projects场景 3:使用轻量模板
V1:
bash
flu-cli create -n my_app -m minV2:
bash
flu-cli new my_app --template modular场景 4:完整参数
V1:
bash
flu-cli create -t app -m pro -s GetX -n my_flutter_app -p com.example.myapp -d ~/projects -i vscodeV2:
bash
flu-cli new my_flutter_app --template clean --state getx --dir ~/projects注意: V2 不再支持
-p(包名) 和-i(IDE) 参数,这些由交互式创建时询问。
⚠️ 不再支持的 V1 功能
命令行参数
以下 V1 参数在 V2 中不再通过命令行指定:
| V1 参数 | V2 替代方案 |
|---|---|
-t, --project-type | 交互式选择 |
-p, --package-name | 交互式输入或使用默认值 |
-i, --ide | 项目创建后手动打开 |
-f, --flutter-sdk | 使用系统环境变量 |
为什么移除?
- 简化命令行:减少参数复杂度
- 交互体验:V2 提供更好的交互式引导
- 常用优先:保留最常用的参数
🎯 V2 新增功能
V2 不仅是参数变化,还带来了新功能:
1. 新命令
bash
# 添加组件(V1 不支持)
flu-cli add page profile
flu-cli add widget custom_button
flu-cli add service api
# 模板管理(V1 不支持)
flu-cli templates
flu-cli templates lite
# 缓存管理(V1 不支持)
flu-cli cache clean2. 更好的交互体验
bash
# V2 支持交互式创建
flu-cli new
# 会逐步询问:项目名称、模板类型、状态管理等3. 远程模板支持
bash
# 使用远程模板(V1 依赖 Git)
flu-cli new my_app --template modular --remote📝 自动化脚本迁移
CI/CD 脚本示例
V1 脚本:
bash
#!/bin/bash
flu-cli create -n my_app -m pro -s GetX -d ./output
cd output/my_app
flutter pub get
flutter build apkV2 脚本:
bash
#!/bin/bash
flu-cli new my_app --template clean --state getx --dir ./output
cd output/my_app
flutter pub get
flutter build apk🔧 常见问题
Q1: 我可以继续使用 create 命令吗?
A: 可以!但需要使用 V2 的参数格式:
bash
flu-cli create my_app --template modular --state getxQ2: V1 和 V2 可以同时安装吗?
A: 可以!使用 npm dist-tag:
bash
npm install -g flu-cli@1 # 安装 V1
npm install -g flu-cli@2 # 安装 V2(或 flu-cli@latest)Q3: 如何查看当前版本?
A:
bash
flu-cli --versionQ4: 我的项目用 V1 创建,可以用 V2 管理吗?
A: 可以!V2 的 add 命令可以向任何 Flutter 项目添加代码:
bash
cd my_v1_project
flu-cli add page settingsQ5: 如果我需要 V1 的完整功能怎么办?
A: 安装 V1 版本:
bash
npm install -g flu-cli@1
flu-cli create -n my_app -m pro -s GetX📚 进一步学习
💡 迁移建议
- 新项目:直接使用 V2 语法
- 旧脚本:逐步更新为 V2 语法
- 学习成本:参数变化不大,10分钟即可掌握
- 遇到问题:查看文档或提 Issue
最后更新: 2025-11-25