Mac M1下VSCode中Flutter项目Ruby版本不匹配致Pod问题求助
解决VSCode中Ruby版本不匹配及Flutter Pod问题
1. 让VSCode继承终端的rbenv环境
VSCode默认不会自动读取shell配置文件(比如~/.zshrc),导致rbenv管理的Ruby路径没被加载:
- 关闭所有VSCode窗口,从终端执行
open -a "Visual Studio Code"启动VSCode - 在VSCode终端里执行
which ruby,确认输出为~/.rbenv/shims/ruby,再用ruby -v验证版本为3.2.0
2. 强制Flutter使用rbenv管理的Ruby
Flutter处理iOS Pod时可能会调用系统预装的Ruby,需手动指定环境:
- 进入项目ios目录,在VSCode终端执行以下命令加载rbenv:
export PATH="$HOME/.rbenv/shims:$PATH" eval "$(rbenv init - zsh)" - 也可以把这两行添加到你的shell配置文件(
~/.zshrc或~/.bash_profile),确保每次启动终端自动加载
3. 在rbenv的Ruby环境下重新安装CocoaPods
系统预装Ruby中的Pod版本可能与3.2.0不兼容,重新将Pod安装到rbenv环境:
- 在已加载rbenv的终端执行
gem install cocoapods - 在VSCode终端的ios目录执行
which pod,确认输出为~/.rbenv/shims/pod,而非系统的/usr/bin/pod
4. 清理项目Pod缓存并重新初始化
旧Ruby生成的缓存会引发冲突,彻底清理后重新安装依赖:
- 在项目根目录依次执行:
flutter clean cd ios pod deintegrate pod cache clean --all pod install - 完成后执行
flutter run测试是否恢复正常
5. 配置VSCode默认shell匹配终端
确保VSCode使用的shell和日常终端一致:
- 打开VSCode设置,搜索
terminal.integrated.defaultProfile.osx,选择zsh(或你常用的shell) - 重启VSCode生效
内容的提问来源于stack exchange,提问作者Boatti
相关产品推荐
相关产品推荐

