M1 MacBook安装cocoapods-keys后pod install仍提示未安装如何解决
M1芯片Mac安装cocoapods-keys后仍提示未安装问题处理
问题原因
- M1架构Mac默认的gem用户插件安装路径未加入终端PATH变量,
pod命令运行时无法扫描到你通过--user-install参数装在用户目录下的插件 - 多数M1用户会通过Homebrew安装CocoaPods,Homebrew自带独立的Ruby运行环境,和系统gem的安装路径完全隔离,你在系统gem下装的插件,Homebrew版的pod根本读不到
- 部分低版本CocoaPods在ARM架构下存在插件扫描路径的兼容问题
解决步骤
按顺序操作即可,每做完一步可以试下pod install,不用全跑完:
- 适配Homebrew安装的CocoaPods环境
先删掉之前装错位置的插件:
用Homebrew管理的Ruby环境重新安装插件:gem uninstall cocoapods-keys/opt/homebrew/opt/ruby/bin/gem install cocoapods-keys - 补全PATH环境变量
如果第一步没用,先执行命令查询当前Ruby版本对应的用户gem bin路径:
输出的路径末尾加上ruby -e 'puts Gem.user_dir'/bin就是插件实际存放的目录,把这个目录加到终端配置里:- 用默认zsh终端的用户执行:
echo 'export PATH="$(ruby -e 'puts Gem.user_dir')/bin:$PATH"' >> ~/.zshrc source ~/.zshrc - 用bash终端的用户执行:
echo 'export PATH="$(ruby -e 'puts Gem.user_dir')/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile
- 用默认zsh终端的用户执行:
- 验证插件加载状态
执行下面的命令查看已加载的CocoaPods插件列表:
列表里能看到cocoapods-keys的话,再执行pod plugins listpod install就不会报插件缺失的错误了。 - 终极兼容方案
如果以上操作都无效,直接卸载Homebrew版CocoaPods,用系统gem重装整套环境,避免路径隔离问题:brew uninstall cocoapods sudo gem install cocoapods sudo gem install cocoapods-keys
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

