每次mac系统升级一不小心就给开发者带来cocoapods库管理的问题,网上有一大堆的解决办法,零零碎碎,有的没有写明原理,在这里做一下简单总结:
问题1: Mac系统升到最高版,在Xcode开发过程中,cocoapods更新遇到报错:
-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory
解决办法:
$ sudo gem update --system
$ sudo gem install cocoapods -n/usr/local/bin
原因分析:缺少对应版本的文件,可能是因为没有最新的库所以去获取最新cocoapods版本
问题2: 如上操作后,提示
ERROR: While executing gem ... (TypeError)
no implicit conversion of nil into String
解决办法:gem update --system
原因分析:不是最新版,更新最新版cocoapods。
问题3: 如上操作后,提示
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
解决办法:sudo chmod 777 /Library/Ruby/Gems/2.3.0
原因分析:提示没有写权限,所以修改文件夹权限,使可写入
问题4: 如上操作后,提示
ERROR: While executing gem ... (Errno::EACCES)
Permission denied @ rb_sysopen - /Library/Ruby/Gems/2.3.0/cache/rubygems-update-2.6.14.gem
解决办法:sudo gem update --system --no-user-install
原因分析:我已经更新了我的rubygem像这样的gem update --system,但是,只有我当地的gems被更新。由于gem: --user-install安装限制在我的/etc/.gemrc。当工作时,它使用全局rubygem与我无关。
问题5: pod update后没有更新到最新代码:
删除podfile.lock和pod文件夹,从新pod install / pod update
原因分析:pod目录缓存
欢迎大家补充和纠正错误。