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 文件
相关推荐
好的佩奇11 小时前
Dart 之扩展类型
android·flutter·dart
恋猫de小郭1 天前
Flutter 下 AOT 一个你怎么都想不出来的 Bug ,JIT 正常的计算,在 AOT 居然算错了
android·前端·flutter
好的佩奇2 天前
Dart 之扩展方法
android·flutter·dart
好的佩奇2 天前
蓝牙之经典蓝牙
android·flutter·蓝牙
传奇开心果编程2 天前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
Nerd(BUG版)3 天前
Flutter学习day5--事件手势与命中测试
学习·flutter
传奇开心果3 天前
【Flutter踩坑排雷】第5课:扩展方法冲突坑|同名扩展引发编译歧义,故障规避手段
android·flutter
雪铃儿4 天前
Flutter 双端热更新新方案:基于 Dart 官方动态模块的 flutter_patcher 1.0.0
flutter·hotfix
好的佩奇4 天前
Dart 之方法、操作符与可调用对象
android·flutter·dart