每次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目錄緩存
歡迎大家補充和糾正錯誤。