在mac上安裝cocoapods,一路的坑啊,無數報錯啊有木有!
本以為安裝很簡單,mac下都自帶ruby,使用ruby的gem命令即可下載安裝:
$ sudo gem install cocoapods
$ pod setup
報錯!有可能是gem版本太低,升級一下gem:
$ sudo gem update --system
完成后重新執行開始那兩行,又報錯:
Error installing pods:activesupport requires Ruby version >= 2.2.2
ruby版本太低,查看當前mac的ruby版本
$ ruby -v
輸出ruby 1.8.7,現在需要使用RVM對Ruby進行升級,RVM是Ruby版本管理器,包括Ruby的版本管理和Gem庫管理(gemset),現在我們先安裝RVM:
$ curl -L get.rvm.io | bash -s stable
等一會兒安裝成功RVM后:
$ source ~/.bashrc
$ source ~/.bash_profile
查看是否安裝正常:
$ rvm -v
完成后,用RVM升級Ruby,可以先列出所有的ruby版本:
$ rvm list known
安裝ruby 2.3.0
$ rvm install 2.3.0
安裝完成之后查看是否安裝成功:
$ ruby -v
完成后重新執行開始那兩行,又報錯!ruby軟件源被牆了,更新一下ruby源,將官方的ruby源替換成國內淘寶的源:
$ gem sources --remove https://rubygems. org/
$ gem sources -a https://ruby.taobao.org/ // 注意是https而不是http
$ gem sources -l
輸出:
*** CURRENT SOURCES ***
https://ruby.taobao.org/ // 確保只有一個源
重新執行開始那兩行,等了好久好久,期間查看下載進度:
$ cd ~/.cocoapods
$ du -sh *
下載了270M后的某個時候,又報錯:
Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master –depth=1
Cloning into ‘master’…
error: RPC failed; result=18, HTTP code = 200
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
郁悶了,白等了好久,查資料后:
$ git config --global http.postBuffer 524288000
$ git config --list
重新執行:
$ pod setup
等了好久好久后,又報上面那個錯,再查資料后:
$ pod repo remove master // 移除master
$ sudo gem uninstall cocoapods // 卸載cocoapods
1、卸載pod
獲取pod的路徑:
$ which pod
刪除pod
$ sudo rm -rf <pod的路徑>
2、刪除rubygems相關cocoapods的包
查看rubygems的本地程序包
$ gem list
輸出:
***LOCALGEMS***
activesupport(4.2.3)
bigdecimal(1.2.0)
CFPropertyList(2.2.8)
claide(1.0.0.beta.1,0.9.1)
cocoapods(0.39.0,0.39.0.beta.4,0.38.2)
cocoapods-core(1.0.0.beta.4,0.39.0,0.39.0.beta.4,0.38.2)
cocoapods-deintegrate(1.0.0.beta.1)
cocoapods-downloader(1.0.0.beta.1,0.9.3,0.9.1)
cocoapods-plugins(1.0.0.beta.1,0.4.2)
cocoapods-search(1.0.0.beta.1,0.1.0)
cocoapods-stats(1.0.0.beta.3,0.6.2,0.6.1,0.5.3)
cocoapods-trunk(1.0.0.beta.2,0.6.4,0.6.1)
cocoapods-try(1.0.0.beta.2,0.5.1,0.4.5)
colored(1.2)
escape(0.0.4)
fourflusher(0.3.0)
fuzzy_match(2.0.4)
i18n(0.7.0)
io-console(0.4.2)
json(1.7.7)
libxml-ruby(2.6.0)
minitest(5.7.0,4.3.2)
molinillo(0.4.4,0.3.1)
nap(1.0.0,0.8.0)
netrc(0.7.8)
nokogiri(1.5.6)
psych(2.0.0)
rake(0.9.6)
rdoc(4.0.0)
rubygems-update(2.4.8)
sqlite3(1.3.7)
test-unit(2.0.0.0)
thread_safe(0.3.5)
tzinfo(1.2.2)
xcodeproj(1.0.0.beta.3,0.28.2,0.27.2,0.26.3)
移除跟cocoapods相關的程序包
cocoapods (0.39.0, 0.39.0.beta.4, 0.38.2)
cocoapods-core (1.0.0.beta.4, 0.39.0, 0.39.0.beta.4, 0.38.2)
cocoapods-deintegrate (1.0.0.beta.1)
cocoapods-downloader (1.0.0.beta.1, 0.9.3, 0.9.1)
cocoapods-plugins (1.0.0.beta.1, 0.4.2)
cocoapods-search (1.0.0.beta.1, 0.1.0)
cocoapods-stats (1.0.0.beta.3, 0.6.2, 0.6.1, 0.5.3)
cocoapods-trunk (1.0.0.beta.2, 0.6.4, 0.6.1)
cocoapods-try (1.0.0.beta.2, 0.5.1, 0.4.5)
把這些文件全部卸載
代碼:sudo gem uninstal <文件名>
以刪除cocoapods為例
$ sudo gem uninstal cocoapods
輸出:sudo gem uninstal cocoapods
3、刪除完之后,執行安裝cocoapods
$ sudo gem install -n /usr/local/bin cocoapods--pre
安裝完之后:
$ pod--version
輸出:1.0.1
再次執行
$ pod setup
.
.
.
又是等了好久好久,又是報錯:
[!] /usr/local/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into'master'...
error: RPC failed; result=56, HTTP code =200
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
我要崩潰啦啦啦啦啦啦啦啦
再次設置
$ git config --global http.postBuffer 524288000 // 1024*1024*500 = 500M
$ pod setup
還是一樣的報錯如上,有可能是postBuffer還不夠大的原因,配置一個超級大的值試試:
$ git config --global http.postBuffer 1073741824 // 1024*1024*1024 = 1024M
$ pod setup
OK,等了好久終於搞定,輸出:
Setting up CocoaPods master repo
Setup completed
來,試試CocoaPods是否可以使用,用CocoaPods的搜索功能驗證一下:
$ pod search AFNetworking
現在終於好了。。。
總結一下:其實安裝步驟很簡單,關鍵步驟是將官方的ruby源替換成國內淘寶的源,然后是http.postBuffer設置成500M還不夠大,我設置成1024M才成功,這個可能會因人而異吧,最后是網速網速網速網速網速網速網速網速網速網速網速網速網速網速。。。。。
