系統版本:macOS Sierra 10.12.6git
Xcode: v9.2(9C40b)github
貌似只能使用終端命令行json
$ sudo gem update --system
上面這個方法在CocoaPods 1.0以後應該是不行了,有可能會出現如下錯誤vim
Operation not permitted - /usr/bin/update_rubygems
在stackoverflow.com中找到了答案緩存
$ sudo gem update -n /usr/local/bin --system
注意ruby
其實在命令行中系統就提示瞭解決辦法
/usr/bin/update_rubygems
bash
首先 先移除現有的Ruby原生的鏡像網絡
$ gem sources --remove https://rubygems.org/
再添加國內的鏡像源curl
$ gem sources -a https://gems.ruby-china.org/
注意
國內淘寶的鏡像源已經不更新了工具
更新完畢以後經過命令行來查看當前的鏡像源
$ gem sources -l
成功則顯示以下
失敗則重複執行 $ gem sources -a https://gems.ruby-china.org/
提示
在Mac OSX 10.9 CocoaPods 還在0.9 時期 安裝CocoaPods 的命令是
$ sudo gem install cocoapods
在Mac OSX 10.10以後 CocoaPods 已經升級到了1.0.0 命令已經變動爲
$ sudo gem install -n /usr/local/bin cocoapods
執行命令
$ sudo gem install -n /usr/local/bin cocoapods
成功則出現如圖所示
執行命令
$ pod setup
這時會出現 Setting up CocoaPods master repo
須要等待一段時間
使用命令查看pod的版本號
$ pod --version
控制檯輸出 1.4.0
說明已經成功安裝了CocoaPods
接下來須要 cd
到你的工程中
$ cd /Users/maybe/Desktop/testCocoaPods
我新建了一個項目 項目名爲
testCocoaPods
touch podFile
經過vim命令在工程中建立一個podFile
文件
open podFile
經過vim命令打開該文件
配置好podFile文件,保存。
pod install
經過該命令下載
vim中表示已經下載完成,能夠關閉當前Xcode項目,使用
testCocoaPods.xcworkspace
在這裏 已經能夠正常的使用CocoaPods了
解決辦法
repo
$ pod repo update
若是更新不下來,或者更新下來仍是沒有你須要的版本,就能夠嘗試升級pod版本。
1.3.1 升級 1.4.0 的時候我就發現有這個問題,直接更新repo不行,須要更新pod版本才能搜到最新版本的第三方庫
這時候按照上面的方法執行下去,從新安裝一遍 pod 就能夠,注意查看下pod版本時候是否有更新。
有時候可能更新下來仍是搜索不到,能夠嘗試使用命令來處理下
rm ~/Library/Caches/CocoaPods/search_index.json
來刪除索引
成功刪除緩存文件,終端是沒有提示的,Unix的尿性就是沒有提示就是成功意思。
這時從新發起搜索
Creating search index for spec repo 'master'..
須要等待一會,正在從新創建索引
稍微等待幾分鐘就能夠從新搜索到。
卸載命令
$ sudo gem uninstall cocoapods
可進入文件夾中查看repo
$ cd ~/.cocoapods
卸載完成後,這個文件夾會被清空
當咱們使用pod update
或者 pod repo update
時,可能會出現 [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
問題
一開始我認爲是網絡問題,後來頻繁的出現我發現是連接github出現了問題。
在stackoverflow 我找到了解決辦法。
在這裏能夠看到出現這個問題的緣由,以及解決的辦法
2018年2月以後,其中一個主要問題是「弱密碼標準被刪除」。
To solve this, first you need to update openssl, then ruby, then cocoapod.
開始搬運代碼
$ which openssl /usr/bin/openssl $ openssl version OpenSSL 0.9.8zh 14 Jan 2016 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ brew update $ brew install openssl $ brew upgrade openssl `` If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile $ echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile $ source ~/.bash_profile $ which openssl /usr/local/opt/openssl/bin/openssl $ openssl version OpenSSL 1.0.2n 7 Dec 2017 $ brew install rbenv ruby-build $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile $ source ~/.bash_profile $ rbenv install --list Available versions: 1.8.5-p52 1.8.5-p113 1.8.5-p114 1.8.5-p115 1.8.5-p231 1.8.6 : 2.5.0-rc1 2.5.0 2.6.0-dev : $ rbenv install 2.5.0 $ rbenv versions * system (set by /Users/username/.rbenv/version) 2.5.0 $ ruby --version ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16] $ rbenv global 2.5.0 $ rbenv versions system * 2.5.0 (set by /Users/username/.rbenv/version) $ ruby --version ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] $ gem install cocoapods -n /usr/local/bin $ which pod /usr/local/bin/pod $ pod --version 1.4.0
成功走到最後,則表明安裝成功了,能夠放心的pod update
和 pod repo update
了
Ruby選擇的版本必須是大於2.0.0版本,最好是選擇最新的例如 2.5.0 或者 2.5.1
在 2018.4.24你pod可能更新的是1.5.0版本,這個關係不大
還有一種解決方案 是每次須要更新你的repo時,將老版本的repo刪除,從新下載
$sudo rm -fr ~/.cocoapods/repos/master $pod setup $pod install
在使用CocoaPods添加第三方庫類庫時,不管是執行`pod install
仍是pod update
時,常常會卡在Analyzing dependencies
,這是由於在更新本地 pod spec
文件致使的。經過no-repo-update
標誌能夠不更新本地 pod spec
索引。
注意:第一次建立CocoaPods時不能使用,須要更新本地repo時不能使用
pod install --no-repo-update pod update --no-repo-update
打印詳細日誌
pod update -verbose