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 文件
相关推荐
molihuan5 小时前
最新 spine 4.3 flutter 适配鸿蒙
flutter·动画·harmonyos·鸿蒙·spine
GitLqr5 小时前
StatefulWidget 里的隐形炸弹:为什么不要在 State 类中使用 context.mounted
flutter·面试·dart
恋猫de小郭1 天前
Android R8 为什么可以让 Kotlin 协程提速 2 倍?
android·前端·flutter
杉氧1 天前
弹性滚动的奥秘:在 Flutter 中使用 CustomScrollView 与 Sliver 打造极致流畅列表
android·前端·flutter
张风捷特烈1 天前
Flutter UI 解耦 - 天下大势,合久必分, 分久必合
android·前端·flutter
Patrick_Wilson2 天前
从 React 到 Flutter:写给前端的一张跨端知识地图
前端·flutter·react.js
奎叔2 天前
Flutter 分层架构:从页面堆叠到可演进的业务边界
flutter
奎叔2 天前
Flutter 客户端 Trace 与稳定性治理:从链路追踪到灰度、降级和复盘
flutter
GitLqr2 天前
别被“Flutter 传感器延迟 150ms”带偏了:这可能只是你的实现方式错了
flutter·架构·kotlin
杉氧2 天前
Flutter 像素级还原实战:用 CustomPaint 与 Bezier 曲线手绘精致图针
android·前端·flutter