Windows GitBash 下 FVM 配置流程

适用场景

Windows + Git Bash / MINGW64症状:

  1. 终端手动输 fvm 找不到命令
  2. 终端能用 fvm,但 sh 脚本里 fvm: command not found
  3. 软链接报错、bat 直接执行语法错误

步骤 1:全局重装激活 FVM

bash运行

Dart 复制代码
dart pub global deactivate fvm
dart pub global activate fvm

步骤 2:配置 Bash 环境变量

bash运行

Dart 复制代码
# 清空旧配置,写入正确Pub路径
echo 'export PATH="$PATH:/c/Users/Admin/AppData/Local/Pub/Cache/bin"' > ~/.bashrc
# 生效配置
source ~/.bashrc

步骤 3:创建 Bash 包装脚本(核心:解决脚本无法调用 fvm)

bash运行

Dart 复制代码
# 生成可执行的 fvm 壳脚本,内部调用 fvm.bat
cat > /c/Users/Admin/AppData/Local/Pub/Cache/bin/fvm << 'EOF'
#!/bin/bash
fvm.bat "$@"
EOF

# 加执行权限
chmod +x /c/Users/Admin/AppData/Local/Pub/Cache/bin/fvm

# 再次生效
source ~/.bashrc

步骤 4:校验

Dart 复制代码
# 查看版本
fvm --version

# 测试 Flutter 调用
fvm flutter --version

# 测试你的i18n脚本
./scripts/i18n.sh

原理备忘(以后出问题一看就懂)

  1. Windows 下 dart pub global 生成的是 fvm.bat
  2. GitBash 交互式终端可以靠别名识别,但 sh 脚本不读别名
  3. 不能用 ln 软链接直接指向 bat,会当成 shell 脚本解析报错
  4. 所以自建一个纯 bash 壳脚本,中转调用 fvm.bat,终端、脚本都能用,不用改项目任何 sh 文件
相关推荐
好的佩奇12 小时前
Dart 之类型系统
flutter·dart
恋猫de小郭18 小时前
Dart 3.15 新特性:this 终于支持类型提升了
android·前端·flutter
FungLeo2 天前
成为全栈·Flutter App 篇·主题与可访问性:深浅色、大字号和触控体验
flutter·移动开发·深色模式·可访问性·成为全栈·大字号适配
用户95421573334852 天前
只是选个照片,怎么留下了这么多访问记录?Flutter 图片选择器排查与优化实录
flutter
FungLeo3 天前
成为全栈·Flutter App 篇·第四批复盘:复用了什么,移动端又新增了什么
flutter·移动开发·跨端开发·成为全栈·api契约·全栈复盘
jason.zeng@15022073 天前
使用vscode+flutter开发android程序(入门)
android·vscode·flutter
jason.zeng@15022073 天前
Flutter 项目标准分层目录(repository/dto/page,对齐后端思想)
flutter
程序员老刘4 天前
跨平台开发地图 | 2026年10月
flutter·ai编程·客户端
林瞅瞅4 天前
Flutter 开发环境从零搭建与调试记录
flutter
FungLeo5 天前
成为全栈·Flutter App 篇·Markdown 编辑器:编辑、预览与离开保护
flutter·移动开发·markdown编辑器·表单设计·成为全栈·草稿保存