組件化第一篇:CocoaPods的安裝

常用命令總結(jié)寫在前面将硝,具體分析往下看

--------------------安裝RVM--------------------
# 安裝rvm命令
curl -sSL https://get.rvm.io | bash -s stable
# 如果安裝失敗先執(zhí)行下面的命令导匣,再次執(zhí)行上面的命令
sudo gem install redis
# 安裝完畢后重啟終端

# 查看rvm版本礼殊,同時驗證是否安裝成功
rvm -v
--------------------安裝RVM--------------------

--------------------安裝Ruby--------------------
# 查看當前默認的Ruby版本
ruby -v

# 查詢所有【已安裝】的Ruby版本
rvm list
# 獲取所有可用于安裝的 Ruby 版本
rvm list known

# 安裝指定Ruby版本
rvm install ruby-2.6.6

# 切換Ruby版本
rvm use 2.6.6
# 設置默認Ruby版本
rvm use 2.6.6 --default

# 卸載已安裝的Ruby版本
rvm remove 2.6.3
--------------------安裝Ruby--------------------

--------------------升級gem---------------------
# 檢查當前【已安裝】的gem的版本  
gem -v
# 查看當前鏡像源
gem sources -l
# 如果是https://rubygems.org/則需要替換鏡像源
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

# 升級gem
sudo gem update -n /usr/local/bin --system
# 如果上面的命令不行就執(zhí)行下面的
sudo gem update --system
--------------------升級gem---------------------

--------------------安裝CocoaPods---------------------
# 檢查pod版本
pod --version

# 搜索遠程的CocoaPods庫
gem search cocoapods
# 搜索本地的CocoaPods庫
gem list

# 先刪除cocoapods驹吮,再安裝
# 備注:有時會報這個錯誤Gem 'cocoapods' is not installed,移除sudo再執(zhí)行就好了
[sudo] gem uninstall cocoapods [-v 移除的版本號]

# 安裝CocoaPods
[sudo] gem install cocoapods
# 如果使用這個報錯晶伦,請使用
[sudo] gem install -n /usr/local/bin cocoapods [-v 要安裝的版本號]

# 當多個pod版本存在時碟狞,使用指定版本
pod _1.5.3_ install
--------------------安裝CocoaPods---------------------

--------------------初始化CocoaPods---------------------
# 查看本地三方框架倉庫(repo)源,list可以省略
pod repo [list]
# 如果clone前提示.cocoapods不為空婚陪,則先移除原master倉庫
pod repo remove master
# 把倉庫克隆下來
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master
# 之后再次更新CocoaPods倉庫源使用下面的命令
pod repo update
--------------------初始化CocoaPods---------------------

--------------------Podfile文件---------------------
# 在文件內(nèi)容的頂部添加這行代碼族沃,指定repo源
source 'https://github.com/CocoaPods/Specs.git'
--------------------Podfile文件---------------------

前言

  • 出于安全的考慮,蘋果從Xcode 8開始禁用插件,原來那么多好用的插件都不能用了脆淹,其中也包括CocoaPods插件常空,無奈之下只得通過終端使用了
  • CocoaPods能讓開發(fā)者非常方便的使用第三方類庫,并且自動設置好相應的系統(tǒng)依賴和編譯參數(shù)盖溺,所以學會使用CocoaPods是很有必要的

相關概念介紹

  • rvm漓糙、ruby、gem(對應RubyGems)烘嘱、brew(對應Homebrew)的安裝順序
    • 首先安裝rvm
    • 再安裝一個Ruby版本昆禽,就可以提供一個完整的ruby運行環(huán)境
    • 安裝完Ruby版本之后可以安裝HomebrewRubyGems
    • 安裝完RubyGems就可以使用gem安裝CocoaPods
  • RVM
    • 全稱:Ruby Version Manager,即Ruby版本管理工具
    • 是一個命令行工具蝇庭,可以方便的管理和切換多個版本的Ruby環(huán)境
    • RVM有一個非常靈活的gem管理系統(tǒng)醉鳖,稱為gem setsgem sets管理橫跨多個Ruby版本的gems包
    • RVM的安裝見下文
    • 使用RVM安裝Ruby見下文
  • RubyGems
    • 用于管理ruby應用哮内,不同于Homebrew(用于操作系統(tǒng)層面上軟件包的安裝)
    • gem是一個管理Ruby庫和程序的標準包(即:一個gem包對應一個Ruby應用程序的安裝單元)盗棵;
    • RubyGems是強大的Ruby程序包管理工具,可以通過RubyGems源來查找北发、安裝漾根、升級和卸載gem包;
    • 在最新的Ruby版本中已經(jīng)包含RubyGems鲫竞,無需單獨安裝
    • RubyGems的安裝見下文
  • Homebrew
    • 用于操作系統(tǒng)層面上軟件包的安裝
    • 將軟件包安裝到單獨的目錄辐怕,然后將符號鏈接到/usr/local中,完全基于git和ruby
    • Homebrew的安裝
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

安裝RVM

  • 以下命令都是在用戶權限下操作的从绘,不要用sudo
  • 安裝完記得重啟終端
    # -sSL嚴格區(qū)分大小寫
    \curl -sSL https://get.rvm.io | bash -s stable
    source ~/.bashrc
    source ~/.bash_profile
    
    // 查看rvm版本寄疏,同時驗證是否安裝成功
    rvm -v
    

采用RVM管理Ruby環(huán)境

  • Mac OS X系統(tǒng)自帶Ruby環(huán)境

  • 修改RVMRuby安裝源Ruby ChinaRuby鏡像服務器,這樣能提高安裝速度

    echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
    
  • Ruby的安裝與切換相關命令

    // 獲取所有可用于安裝的 Ruby 版本
    rvm list known
    // 查詢所有【已安裝】的Ruby版本
    rvm list
    
    // 安裝指定Ruby版本
    rvm install 2.4.0 --disable-binary
    // 切換Ruby版本
    rvm use 2.4.0
    // 設置默認Ruby版本
    rvm use 2.4.0 --default
    // 卸載已安裝的Ruby版本
    rvm remove 2.4.0
    
    // 查看當前默認的Ruby版本
    ruby -v
    
  • 參考文檔:RVM安裝 及 Ruby的安裝與切換

安裝RubyGems

  • 如果gem版本過低也可能導致CocoaPods安裝失敗僵井,所以這里首先需要先檢查gem版本陕截,看是否需要升級

  • 查看gem版本

    # 下面兩個命令都可以檢查當前【已安裝】的gem的版本  
    gem -v
    gem --version
    
  • 替換RubyGems鏡像源

    • 查看當前鏡像源
    gem sources -l
    
    // 替換鏡像源為Ruby China
    gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
    
    • 方式二
    // 先刪除原有鏡像源
    gem sources --remove https://rubygems.org/
    // 添加Ruby China為鏡像源
    gem sources -a https://gems.ruby-china.com/
    
  • 以下命令建議添加sudo农曲,表示以管理員的身份操作,因為可能在安裝軟件包的過程中驻债,需要操作文件乳规,這些操作必須有管理員權限才能進行

  • 升級gem

    • macOS X EI Capitan之前
    sudo gem update --system
    
    • macOS X EI Capitan之后
    sudo gem update -n /usr/local/bin --system
    
  • 查找、安裝及卸載gem包

    // 搜索軟件包
    gem search 軟件包關鍵字
    
    // 安裝軟件包
    sudo gem install 軟件包名稱
    
    // 安裝上一個版本的軟件包
    sudo gem install 軟件包名稱 --pre
    
    // 卸載安裝包
    sudo gem uninstall 軟件包名稱
    

安裝CocoaPods

  • macOS X EI Capitan之前
sudo gem install cocoapods
  • macOS X EI Capitan之后
sudo gem install -n /usr/local/bin cocoapods
  • 檢查版本
pod --version
  • 至此CocoaPods的已經(jīng)安裝完畢合呐,下面需要初始化CocoaPods暮的,下載使用CocoaPods進行管理的應用程序?qū)?code>描述文件列表,大概有四百多兆淌实;

初始化CocoaPods冻辩,【不使用】鏡像源(不推薦)

  • 安裝完CocoaPods后如果直接在終端輸入pod setup猖腕,接著出現(xiàn)Setting up CocoaPods master repo,之后就是一個很漫長的等待...
  • 會將數(shù)據(jù)下載到~/.cocoapods/repo/master目錄中恨闪,可以cd ~/.cocoapods到此目錄倘感,用du -sh *命令每隔一段時間查看已下載下來的文件大小
  • 初始化數(shù)據(jù)總共有幾百兆,要是不使用鏡像的話咙咽,一天也未必能下載下來侠仇,所以不要采取這種方式

初始化CocoaPods,【使用】鏡像源

  • 說明:更換repo源只是加快了repo的下載速度犁珠,并不會加快第三方庫源碼的下載速度逻炊,下載第三方庫源碼還是要到指定的源碼存放地址(podspec中有指定)去下載,兩者是沒有任何關系的犁享;
  • 首先查看本地三方框架倉庫(repo)源余素,如果沒有,不要直接使用pod setup炊昆,為什么上面已經(jīng)解釋了
# list可以省略
pod repo [list]
  • CocoaPods 鏡像使用幫助
    • 進入自己的工程桨吊,在自己工程的podFile第一行加上
    source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
    
  • 之后再次更新CocoaPods倉庫源使用下面的命令
pod repo update
  • 遇到的問題
    • 問題描述


      問題.png
    • 解決辦法:關閉Xcode
// 在終端中執(zhí)行下面的命令,按照提示一步一步做完
// 執(zhí)行完畢后凤巨,再次嘗試下載视乐,我通過此辦法解決我的問題
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
  • 如果沒有安裝成功,可以嘗試刪除.cocoapods目錄敢茁,然后重新安裝cocoapods
sudo rm -rf ~/.cocoapods/

Cocoapods重要路徑

  • ~/Library/Caches/CocoaPods
    • 使用到的第三方框架的緩存路徑
    • 第三方框架索引文件所在路徑
      • 如果發(fā)現(xiàn)框架信息本地已經(jīng)緩存佑淀,但是就是無法搜索到框架, 可以刪除這個索引文件, 重新生成
      • 如果文件不存在,只要通過pod search xxx命令搜索框架時就會自動生成
  • ~/.cocoapods/repos
    • 三方框架索引信息緩存路徑彰檬,一般指masterrepo
    • 你新建的私有repo也會處于這個位置
  • /usr/local/bin
    • pod命令安裝路徑

下一篇講解CocoaPods的使用

參考鏈接

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逢倍,一起剝皮案震驚了整個濱河市捧颅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌较雕,老刑警劉巖碉哑,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異亮蒋,居然都是意外死亡扣典,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門宛蚓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來激捏,“玉大人,你說我怎么就攤上這事凄吏≡毒耍” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵痕钢,是天一觀的道長图柏。 經(jīng)常有香客問我,道長任连,這世上最難降的妖魔是什么蚤吹? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮随抠,結(jié)果婚禮上裁着,老公的妹妹穿的比我還像新娘。我一直安慰自己拱她,他們只是感情好二驰,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秉沼,像睡著了一般桶雀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唬复,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天矗积,我揣著相機與錄音,去河邊找鬼敞咧。 笑死棘捣,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的休建。 我是一名探鬼主播柱锹,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼丰包!你這毒婦竟也來了禁熏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤邑彪,失蹤者是張志新(化名)和其女友劉穎瞧毙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寄症,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡宙彪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了有巧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片释漆。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖篮迎,靈堂內(nèi)的尸體忽然破棺而出男图,到底是詐尸還是另有隱情示姿,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布逊笆,位于F島的核電站栈戳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏难裆。R本人自食惡果不足惜子檀,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乃戈。 院中可真熱鬧褂痰,春花似錦、人聲如沸症虑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侦讨。三九已至驶冒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間韵卤,已是汗流浹背骗污。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沈条,地道東北人需忿。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像蜡歹,于是被迫代替她去往敵國和親屋厘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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