2021史上最強 CocoaPods 安裝攻略

本人的mac環(huán)境:

  • MacOS Catalina
  • 終端為 zshell

一怒竿、安裝 Homebrew 過程

官網(wǎng)的下載地址你懂的报腔,所以我們使用國內(nèi)源就可以了俊啼,復制下面命令到終端

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

此安裝流程請參考

二、升級openssl

先看版本

openssl version

install openssl

brew install openssl
brew upgrade openssl

打開并寫入

open .zshrc
export PATH="/usr/local/opt/openssl/bin:$PATH"

執(zhí)行

source ~/.zshrc

再次查看

which openssl
openssl version

三速缆、到這里届宠,openssl就更新完成了求豫,下面安裝/更新rvm

Ruby Version Manager(RVM) 是一個命令行工具,可以提供一個便捷的多版本 Ruby 環(huán)境的管理和切換膨更。
ruby-china中的 rvm 相關(guān)
注意: 直接使用rvm官網(wǎng)的安裝方式, 會提示各種網(wǎng)絡錯誤, 這里用一個取巧的辦法

附上這位小伙伴給出的解決方案, 在此特別感謝
MacOS Catalina安裝CocoaPods時遇到rvm安裝報錯curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection

解決方案
  1. 瀏覽器打開 get.rvm.io 妙真,打不開的話就掛代理
  2. cmd+A復制全部內(nèi)容
  3. 命令行輸入cd Desktop進入桌面
  4. 輸入 touch install.sh創(chuàng)建腳本文件
  5. 輸入vim install.sh打開編輯,粘貼進去荚守。切記不要從網(wǎng)頁直接導出文件然后改后綴
  6. 按下Esc退出編輯模式
  7. 按下:wq保存并退出
  8. install.sh文件拖入終端執(zhí)行珍德,如果提示Permission denied權(quán)限問題就輸入 chmod 777然后拖入 install.sh 文件,然后再拖入一遍執(zhí)行
  9. 然后終端應該會顯示成功了, 執(zhí)行source ~/.zshrc, 最后輸入 rvm -v 能出現(xiàn)版本號就成功了

四矗漾、使用 rvm 安裝 Ruby

rvm使用指南

安裝其他版本 Ruby 原因:

  • 雖然 macOS 自帶了一個 ruby 環(huán)境锈候,但是是系統(tǒng)自己使用的,所以權(quán)限很小敞贡,只有 system泵琳。而/Library 目錄是 root 權(quán)限,所以很多會提示無權(quán)限。
  • 使用自帶ruby更新, 管理不方便
  • 一系列無原因的報錯

列出已知的 Ruby 版本

rvm list known

安裝最新的版本, 以 3.0.0 為例

rvm install 3.0.0

切換 Ruby 版本并設置為默認版本,這樣一來以后新打開的控制臺默認的 Ruby 就是這個版本

rvm use 3.0.0 --default 

注意: 不設置為默認的話, 新開的終端可能會提示一個警告, 有警告強迫癥的小伙伴這里設置為默認即可

查詢已經(jīng)安裝的 ruby

rvm list

卸載一個已安裝版本

rvm remove 1.8.7

注意: 網(wǎng)上有小伙伴說最好不要刪除系統(tǒng)自帶的 ruby, 以免出現(xiàn)問題

ps:

/etc/profile:此文件為系統(tǒng)的每個用戶設置環(huán)境信息,當用戶第一次登錄時,該文件被執(zhí)行.
并從/etc/profile.d目錄的配置文件中搜集shell的設置.
/etc/bashrc:為每一個運行bash shell的用戶執(zhí)行此文件.當bash shell被打開時,該文件被讀取.
~/.bash_profile:每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執(zhí)行一次!默認情況下,他設置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件.
~/.bashrc:該文件包含專用于你的bash shell的bash信息,當?shù)卿洉r以及每次打開新的shell時該文件被讀取.
~/.bash_logout:當每次退出系統(tǒng)(退出bash shell)時,執(zhí)行該文件.

.zshrc 同理

五获列、更新升級 Gem 版本和安裝 CocoaPods

此部分轉(zhuǎn)自<Cocoapods使用教程>

替換ruby源

查看ruby源

gem sources -l

默認情況下谷市,終端會顯示下面:

*** CURRENT SOURCES ***
https://rubygems.org/

當然這個源在墻內(nèi)是訪問不到的,所以要更換到ruby-china的鏡像

  1. 移除掉原有的源
gem sources --remove https://rubygems.org/
  1. 淘寶的源已經(jīng)不更新維護了,現(xiàn)在使用ruby-china的源哦
gem source -a https://gems.ruby-china.com
  1. 驗證是否替換成功
gem sources -l

如果顯示下面輸出就說明正確:

*** CURRENT SOURCES ***
https://gems.ruby-china.com
更新升級 Gem 版本

Gem是管理Ruby庫和程序的標準包击孩,如果它的版本過低也可能導致安裝失敗迫悠,解決方案自然是升級Gem,執(zhí)行下述命令即可:

// 更新升級gem溯壶,國內(nèi)需要切換源
gem update --system

安裝 CocoaPods
CocoaPods是基于ruby ecosystem的及皂,需要ruby環(huán)境,使用ruby的gem命令且改。

gem install cocoapods

// MacOS 10.11以后用此命令
gem install -n /usr/local/bin cocoapods 

如果出現(xiàn)以下錯誤:

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/ffi/ffi.h:269:1: note: 'ffi_prep_closure' declared hereffi_prep_closure(^1 error generated.make: *** [Function.o] Error 1make failed, exit code 2

解決方法:刪除目錄下的 MacOSX10.14.sdk 即可

六验烧、使用 CocoaPods

pod install 等命令

如果出現(xiàn)以下錯誤:

LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 或者 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60

解決方法:VPN開啟全局代理, 重新 pod install

七、卸載CocoaPods

查看 pod 路徑

which pod

卸載所有版本

gem uninstall cocoapods

查看 cocoapods 是否還有殘余內(nèi)容

gem list --local | grep cocoapods

如果顯示如下:

cocoapods-core (0.39.0)
cocoapods-downloader (0.9.3)
cocoapods-plugins (0.4.2)

可卸載 cocoapods 殘余內(nèi)容, 示例:

gem uninstall cocoapods-core

完結(jié), 撒花~~~~~~~

最后補充一些常用指令

轉(zhuǎn)自這位小伙伴的整理

ruby rvm

$ ruby -v # 查看ruby 版本
$ rvm list known # 列出已知的 ruby 版本
$ rvm install 2.3.0 # 選擇指定 ruby 版本進行更新
$ rvm get stable # 更新 rvm
$ rvm use 2.2.2 # 切換到指定 ruby 版本
$ rvm use 2.2.2 --default # 設置指定 ruby 版本為默認版本
$ rvm list # 查詢已安裝的 ruby 版本
$ rvm remove 1.9.2 # 卸載移除 指定 ruby 版本

$ curl -L https://get.rvm.io | bash -s stable # 安裝 rvm 環(huán)境
$ curl -sSL https://get.rvm.io | bash -s stable --ruby # 默認安裝 rvm 最新版本
$ curl -sSL https://get.rvm.io | bash -s stable --ruby=2.3.0 # 安裝 rvm 指定版本
$ source ~/.rvm/scripts/rvm # 載入 rvm

Gem

$ gem -v # 查看 gem 版本
$ gem source # 查看 gem 配置源
$ gem source -l # 查看 gem 配置源目錄
$ gem sources -a url # 添加 gem 配置源(url 需換成網(wǎng)址)
$ gem sources --add url # 添加 gem 配置源(url 需換成網(wǎng)址)
$ gem sources -r url # 刪除 gem 配置源(url 需換成網(wǎng)址)
$ gem sources --remove url # 刪除 gem 配置源(url 需換成網(wǎng)址)
$ gem update # 更新 所有包
$ gem update --system # 更新 Ruby Gems 軟件
$
$ gem install rake # 安裝 rake又跛,從本地或遠程服務器
$ gem install rake --remote # 安裝 rake碍拆,從遠程服務器
$ gem install watir -v 1.6.2 # 安裝 指定版本的 watir
$ gem install watir --version 1.6.2 # 安裝 指定版本的 watir
$ gem uninstall rake # 卸載 rake 包
$ gem list d # 列出 本地以 d 打頭的包
$ gem query -n ''[0-9]'' --local # 查找 本地含有數(shù)字的包
$ gem search log --both # 查找 從本地和遠程服務器上查找含有 log 字符串的包
$ gem search log --remoter # 查找 只從遠程服務器上查找含有 log 字符串的包
$ gem search -r log # 查找 只從遠程服務器上查找含有l(wèi)og字符串的包
$
$ gem help # 提醒式的幫助
$ gem help install # 列出 install 命令 幫助
$ gem help examples # 列出 gem 命令使用一些例子
$ gem build rake.gemspec # 把 rake.gemspec 編譯成 rake.gem
$ gem check -v pkg/rake-0.4.0.gem # 檢測 rake 是否有效
$ gem cleanup # 清除 所有包舊版本,保留最新版本
$ gem contents rake # 顯示 rake 包中所包含的文件
$ gem dependency rails -v 0.10.1 # 列出 與 rails 相互依賴的包
$ gem environment # 查看 gem 的環(huán)境
$
$ sudo gem -v # 查看 gem 版本(以管理員權(quán)限)
$ sudo gem install cocoa pods # 安裝 CocoaPods(以管理員權(quán)限)
$ sudo gem install cocoapods # 安裝 CocoaPods(以管理員權(quán)限)
$ sudo gem install cocoapods --pre # 安裝 CocoaPods 至預覽版(以管理員權(quán)限)
$ sudo gem install cocoapods -v 0.39.0 # 安裝 CocoaPods 指定版本(以管理員權(quán)限)
$ sudo gem update cocoapods # 更新 CocoaPods 至最新版(以管理員權(quán)限)
$ sudo gem update cocoapods --pre # 更新 CocoaPods 至預覽版(以管理員權(quán)限)
$ sudo gem uninstall cocoapods -v 0.39.0 # 移除 CocoaPods 指定版本(以管理員權(quán)限)

pod

1. pod setup
將所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目錄下,更新本地倉庫慨蓝。

2. pod repo update
執(zhí)行 pod repo update更新本地倉庫感混,本地倉庫完成后,即可搜索到指定的第三方庫礼烈,作用類似pod setup弧满。不過這個命令經(jīng)常不單獨調(diào)用。比如執(zhí)行pod setup此熬、pod search庭呜、pod install、pod update會默認執(zhí)行pod repo update

3. pod search xxx
查找某一個開源庫犀忱。查找開源庫之前募谎,默認會執(zhí)行pod repo update指令

4. pod list
列出所有可用的第三方庫.現(xiàn)在已經(jīng)2.4W+了.還在不斷地增長

5. pod install
會根據(jù)Podfile.lock文件中列舉的版本號來安裝第三方框架
如果一開始Podfile.lock文件不存在, 就會按照Podfile文件列舉的版本號來安裝第三方框架
安裝開源庫之前, 默認會執(zhí)行pod repo update指令

6. pod update
將所有第三方框架更新到最新版本, 并且創(chuàng)建一個新的Podfile.lock文件
安裝開源庫之前, 默認會執(zhí)行pod repo update指令

7. pod install --no-repo-update
8. pod update --no-repo-update
安裝開源庫之前, 不會執(zhí)行pod repo update指令

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市阴汇,隨后出現(xiàn)的幾起案子数冬,更是在濱河造成了極大的恐慌,老刑警劉巖搀庶,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拐纱,死亡現(xiàn)場離奇詭異,居然都是意外死亡哥倔,警方通過查閱死者的電腦和手機秸架,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來未斑,“玉大人咕宿,你說我怎么就攤上這事币绩。” “怎么了府阀?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵缆镣,是天一觀的道長。 經(jīng)常有香客問我试浙,道長董瞻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任田巴,我火速辦了婚禮钠糊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘壹哺。我一直安慰自己抄伍,他們只是感情好,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布管宵。 她就那樣靜靜地躺著截珍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪箩朴。 梳的紋絲不亂的頭發(fā)上岗喉,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天,我揣著相機與錄音炸庞,去河邊找鬼钱床。 笑死,一個胖子當著我的面吹牛埠居,可吹牛的內(nèi)容都是我干的查牌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拐格,長吁一口氣:“原來是場噩夢啊……” “哼僧免!你這毒婦竟也來了刑赶?” 一聲冷哼從身側(cè)響起捏浊,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撞叨,沒想到半個月后金踪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡牵敷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年胡岔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枷餐。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡靶瘸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情怨咪,我是刑警寧澤屋剑,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站诗眨,受9級特大地震影響唉匾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜匠楚,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一巍膘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧芋簿,春花似錦峡懈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至幽告,卻和暖如春梅鹦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背冗锁。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工齐唆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冻河。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓箍邮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親叨叙。 傳聞我的和親對象是個殘疾皇子锭弊,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容