Flutter在Android终端执行pod install报错,M1 Mac终端可正常运行
问题核心原因
该报错的本质是Android Studio 内置终端的默认字符编码未设置为UTF-8,触发CocoaPods依赖的Ruby框架编码兼容性异常,和系统本身的CocoaPods、Ruby版本没有关联,所以M1 Mac原生终端可以正常运行。
解决方案
临时解决方案(单次运行生效)
在Android Studio终端中先执行编码配置命令,再运行项目即可:
export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8
后续直接执行flutter run或者手动执行pod install都能正常完成流程。
永久解决方案(无需每次手动配置)
方案1:修改Android Studio终端默认配置
- 打开Android Studio设置页:路径为
Preferences > Tools > Terminal - 找到「Environment variables」配置项,点击右侧编辑按钮
- 新增两条环境变量:
LANG=en_US.UTF-8LC_ALL=en_US.UTF-8
- 保存配置后重启Android Studio终端即可生效。
方案2:修改系统Shell全局配置
如果需要所有终端场景都生效,可以直接修改Shell配置文件:
- 若使用M1 Mac默认的zsh终端,执行以下命令:
echo "export LANG=en_US.UTF-8" >> ~/.zshrc echo "export LC_ALL=en_US.UTF-8" >> ~/.zshrc source ~/.zshrc
- 若使用bash终端,执行以下命令:
echo "export LANG=en_US.UTF-8" >> ~/.bash_profile echo "export LC_ALL=en_US.UTF-8" >> ~/.bash_profile source ~/.bash_profile
配置验证
配置完成后在Android Studio终端执行locale命令,输出结果中LANG和LC_ALL字段值为en_US.UTF-8即为配置成功,后续运行Flutter iOS项目不会再触发该编码报错。
内容的提问来源于stack exchange,提问作者CONFUSED CODER
相关产品推荐
相关产品推荐

