經過努力終於發現了最新的 解決cocoaPods安裝的辦法: taobao Gems 源已停止維護,現由 ruby-china 提供鏡像服務 第一步:安裝rvm, 不管需不需要升級ruby,rvm可以讓你擁有多個版本的Ruby,並且可以在多個版本之間自由切換。如果已經安裝過跳到第2步(rvm -v ...
經過努力終於發現了最新的 解決cocoaPods安裝的辦法:
taobao Gems 源已停止維護,現由 ruby-china 提供鏡像服務
第一步:安裝rvm,
不管需不需要升級ruby,rvm可以讓你擁有多個版本的Ruby,並且可以在多個版本之間自由切換。如果已經安裝過跳到第2步(rvm -v 查看是否安裝)
$ curl -L get.rvm.io | bash -s stable
//需要等一會
$ source ~/.bashrc
$ source ~/.bash_profile
等待終端載入完畢,後輸入
rvm -v
如果能顯示版本好則安裝成功了。
第二步:安裝ruby
CocoaPods目前安裝需要Ruby的版本大於2.2.2,不然會報錯:Error installing pods: activesupport requires Ruby version >= 2.2.2。目前Mac系統預設自帶是2.0,所以需要升級。
查看已安裝的ruby:
rvm list
如果已安裝版本大於2.2.2,直接到第3步。
ruby -v //也可以查看ruby版本
//列出ruby可安裝的版本信息
rvm list known
rvm install 2.2.2 //安裝一個ruby版本
這裡一定要設置為預設版本
rvm use 2.2.2 --default
第三步:更換源
我們需要來修改更換源(由於國內被牆)所以要把源切換至ruby-china在終端執行以下命令
目前網上文章大都是這面這種:
$ sudo gem update --system
$ gem sources --remove https://rubygems.org/
//等有反應之後再敲入以下命令
$ gem sources -a https://ruby.taobao.org/
這裡是個大坑:會報錯_connect returned=1 errno=0 state=SSLv3 read servercertificateB:certificate verify failed (https://ruby.taobao.org/specs.4.8.gz)
這是因為taobao Gems 源已停止維護,現由 ruby-china 提供鏡像服務,正確的操作是:
$ sudo gem update --system
$ gem sources --remove https://rubygems.org/
$ gem sources --remove https://ruby.taobao.org/ //如果安裝了淘寶的鏡像
//等有反應之後再敲入以下命令
gem sources -a https://gems.ruby-china.org/
為了驗證你的Ruby鏡像是並且僅是ruby-china,可以用以下命令查看:
$ gem sources -l
只有在終端中出現下麵文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
# 確保只有 gems.ruby-china.org
第四步:安裝CocoaPods
sudo gem install -n /usr/local/bin cocoapods
再加一句,完美解決
sudo xcode-select --switch/Applications/Xcode.app
在終端中輸入如下命令來完成安裝:
pod setup
它需要一點時間來完成,我反正是掛機等了一晚,你等就是了
如果安裝失敗 ~/.cocoapods 裡面是空的,就需要重新setup
命令如下:
pod repo remove master
pod setup
完畢之後這個文件夾大概有 100多M,需要花費比較多時間,請耐心等待。
到這裡你已經成功安裝了CocoaPods
終極辦法:把你已經裝好了cocoaPods同事~/.cocoapods目錄下的repo目錄拷貝下來,放進自己的目錄里。再 pod setup
為了確定CocoaPods是否可以使用,可以用CocoaPods的搜索功能驗證一下。在終端中輸入:
$ pod search AFNetworking
過一段時間之後(可能會比較久),你會在終端中看到一些紅色的錯誤信息,如下:
Setting up CocoaPods master repo
[!] /usr/bin/Gitclone 'https://github.com/CocoaPods/Specs.git' master --depth=1
Cloning into 'master'...
error: RPC failed; result=52, HTTP code = 0
fatal: The remote end hung up unexpectedly
這說明CocoaPods還不能正常使用,需要更新pod,下載它的一些依賴包;在終端中輸入:
$ pod setup
過一段時間之後,你會在終端中看到跟上面同樣的紅色的錯誤信息。
敲入以上命令時,小編終端上是這個樣子的(由於太長,僅截取前面一部分):
這說明某些環境原因導致pod更新不了,可能原因有,1)gem版本太低;2)github無法鏈接;3).cocoapods目錄下的配置信息錯誤。我們可以一個一個來排除,
首先更新gem到最新版本,在終端中輸入:
$ sudo gem update --system
然後檢查是否可以ping通github,在終端中輸入:
$ ping github.com
然後查看pob repo list:
$ pod repo list
結果顯示0 repos,說明沒有安裝成功;
刪除.cocoapods目錄,重新下載pod更新:
$ cd ~/.cocoapods/
$ sudo -rm -rf ~/.cocoapods/
重新執行pod setup,過一段時間後提示setup completed,在終端中輸入 pod list,展示出安裝列表;
敲入以上命令時,小編終端上是這個樣子的(由於太長,僅截取前面一部分):
錯誤代理
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --depth=1
Cloning into 'master'...
fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': Failed to connect to proxy.com port 1234: Operation timed out
很明顯啊,應為不好,這歌意思是:代理出現了問題,導致clone不下來,研究了好長時間,於是有一下兩種辦法1》修改代理如:git config --global http.proxy 192.168.1.1:8081(這個代理時瞎寫的)2》
git config --global http.proxy 查詢到當前設置了代理,所以取消這個設置:
git config --global --unset http.proxy再查詢,已經沒有了代理, 後成功安裝。
看到這裡,你心裡會不會說,我靠!太爽了,終於下載並且安裝好了!接下來看下如何使用吧。。
我們先創建這個神奇的PodFile。在終端中進入(cd命令)你項目所在目錄,然後在當前目錄下,利用vim創建Podfile,運行:
$ vim Podfile
然後在Podfile文件中輸入以下文字:
需要註意的是podfile裡面輸入的格式變了。
platform :ios, '8.0'
target '你的項目名稱' do
pod 'AFNetworking', '~> 3.1.0'
end
然後保存退出。vim環境下,保存退出命令是:
:wq
這時候,你會發現你的項目目錄中,出現一個名字為Podfile的文件,而且文件內容就是你剛剛輸入的內容。註意,Podfile文件應該和你的工程文件.xcodeproj在同一個目錄下。
這時候,你就可以利用CocoPods下載AFNetworking類庫了。還是在終端中的當前項目目錄下,運行以下命令:
$ pod install
最近使用CocoaPods來添加第三方類庫,無論是執行pod install還是pod update都卡在了Analyzing dependencies不動
原因在於當執行以上兩個命令的時候會升級CocoaPods的spec倉庫,加一個參數可以省略這一步,然後速度就會提升不少。加參數的命令如下:
$ pod install --verbose --no-repo-update $ pod update --verbose --no-repo-update
註意最後一句話,意思是:以後打開項目就用 CocoaPodsDemo.xcworkspace 打開,而不是之前的.xcodeproj文件。否則無法關聯pod下來的類庫。