FVM激活版本与实际运行版本不一致,如何切换到3.10.2?
解决FVM设置Flutter版本不生效的问题
1. 给项目绑定局部FVM版本
执行fvm use 3.10.2 --local,这个命令会在项目根目录生成.fvm文件夹,强制当前项目使用指定的3.10.2版本。之前的fvm use 3.10.2可能只是设置了全局默认,没绑定到当前项目,导致版本不生效。
2. 检查FVM环境变量配置
打开你的shell配置文件(比如~/.bashrc、~/.zshrc或~/.profile),确认里面包含以下配置:
export PATH="$HOME/fvm/default/bin:$PATH" export PATH="$HOME/.pub-cache/bin:$PATH"
如果没有就加上,然后执行source ~/.bashrc(对应你的shell配置文件)重新加载环境变量。
3. 清理FVM缓存并重新激活
- 运行
fvm flush-cache清理FVM的缓存数据 - 再次执行
fvm use 3.10.2 --local重新绑定版本 - 用
fvm flutter --version验证版本是否切换到3.10.2
4. 检查全局Flutter的优先级
执行which flutter,如果返回的是全局Flutter路径(比如/usr/bin/flutter)而非FVM的路径(比如/home/me/fvm/default/bin/flutter),说明全局Flutter被优先调用了。调整环境变量顺序,把FVM的路径放在全局路径前面即可。
5. 匹配项目的SDK约束
打开项目的pubspec.yaml,确保SDK约束和Flutter 3.10.2对应的Dart版本(3.0.2)匹配:
environment: sdk: ">=3.0.2 <4.0.0"
完成以上操作后,重新运行fvm flutter pub run build_runner build应该就能正常执行了。
内容的提问来源于stack exchange,提问作者ztefanie
相关产品推荐
相关产品推荐

