CocoaPods(I)之安裝和卸載

安裝CocoaPosds[當(dāng)前Mac OS X 10.15]

①是否安裝了RVM雪营,若沒(méi)有需安裝,否則第②步
什么是RVM?
?Ruby Version Manager簡(jiǎn)稱RVM,是一款非常好用的ruby版本管理以及安裝工具

①查看是否安裝RVM
rvm -v

//沒(méi)有安裝rvm
zsh: command not found: rvm 

②安裝RVM
curl -L https://get.rvm.io | bash -s stable
檢查RVM是否安裝上了
rvm -v

//沒(méi)有安裝上
zsh: command not found: rvm

這是因?yàn)闆](méi)有從終端載入,這時(shí)可以這么做:
source ~/.rvm/scripts/rvm
然后檢查RVM的版本:
rvm -v

rvm 1.29.9 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

這時(shí)說(shuō)媒RVM已經(jīng)安裝上了泻骤,這時(shí)可以進(jìn)行Ruby的安裝了。

? 但有時(shí)像上述進(jìn)行安裝RVM可能一直失敗,所有我們需要換另一種方式進(jìn)行下載離線下載官網(wǎng)離線下載烹卒,如下面:

// 離線包
$ curl -sSL https://github.com/rvm/rvm/tarball/stable -o rvm-stable.tar.gz

// 創(chuàng)建文件夾
$ mkdir rvm && cd rvm

// 解包
$ tar --strip-components=1 -xzf ../rvm-stable.tar.gz

// 安裝 
$ ./install --auto-dotfiles

// 加載
$ source ~/.rvm/scripts/rvm


②安裝Ruby



更換鏡像源

  • ruby 默認(rèn)的原地址是國(guó)外網(wǎng)絡(luò)地址,通過(guò)下面命令查看當(dāng)前的鏡像:
    gem sources -l
gem sources -l
*** CURRENT SOURCES ***

https://rubygems.org/
  • 移除當(dāng)前鏡像
    gem sources --remove https://rubygems.org/
gem sources --remove https://rubygems.org/
https://rubygems.org/ removed from sources
  • 添加國(guó)內(nèi)的 ruby 鏡像
    gem sources -a https://gems.ruby-china.com
gem sources -a https://gems.ruby-china.com
https://gems.ruby-china.com added to sources
  • 再次查看當(dāng)前鏡像,發(fā)現(xiàn)已經(jīng)替換成功
gem sources -l
*** CURRENT SOURCES ***

https://gems.ruby-china.com/



安裝最新ruby

  • 查看Ruby已有的版本弯洗,安裝最新的:
    rvm list known
Ruby的版本
  • 選擇最新的版本進(jìn)行安裝,安裝可能需要一點(diǎn)時(shí)間:
    rvm install 2.7
    ? 在漫長(zhǎng)的下載旅急,編譯過(guò)程,完成以后牡整,Ruby, Ruby Gems 就安裝好了藐吮。這期間若Honebrew沒(méi)有安裝,則在此過(guò)程中會(huì)進(jìn)行自動(dòng)安裝逃贝。

    安裝HomeBrew 失敗

  • 即使HomeBrew沒(méi)有安裝好也可以安裝CocoaPods(這是錯(cuò)的谣辞,必須安裝否則無(wú)法安裝Ruby),檢查Ruby是否安裝好了(查看自己Mac的ruby源):
    ruby -v

ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
  • 傳說(shuō) CocoaPods 支持的 ruby 最低版本是2.2.2沐扳,如果自己電腦版本低于這個(gè)版本就升級(jí) ruby 泥从,上面顯示我的電腦版本不需要升級(jí),可以忽略下面的升級(jí)操作
    sudo gem update --system



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

//提示rvm rubies還沒(méi)有安裝
# No rvm rubies installed yet. Try 'rvm help install'.

按他的提示沪摄,在終端輸入:

rvm help install

在終端輸入
rvm help install
在輸出的內(nèi)容中找到下圖的版本號(hào)躯嫉,然后找到指定的版本號(hào)進(jìn)行安裝

指定版本號(hào)

但是上圖的版本號(hào)有點(diǎn)舊,我們可以用命令:
rvm list known
查看版本號(hào)杨拐,然后選中一個(gè)版本號(hào)進(jìn)行安裝(這里我選擇2.6.3版本):
rvm install 2.6.3 --default
會(huì)報(bào)下面的錯(cuò)誤
報(bào)錯(cuò)

若出現(xiàn)如上問(wèn)題說(shuō)明Mac上沒(méi)有安裝Homebrew(若是安裝了祈餐,這一步可以直接跳過(guò)) ,需要先安裝:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
在這里需要等待大概要2小時(shí),可以看會(huì)劇比如:海賊王戏阅、慶余年等昼弟,安裝成功后提示:
安裝成功提示

在終端輸入:
brew help
終端提示
提示

強(qiáng)制退出終端,然后重新打開(kāi)終端奕筐,輸入:
rvm install 2.6.3
安裝后舱痘,提示

Install of ruby-2.6.3 - #complete 
Ruby was built without documentation, to build it run: rvm docs generate-ri

終端輸入:
rvm docs generate-ri

RVM version 1.29.9-next (master) is installed, yet version 1.29.9 (latest) is loaded.

Please open a new shell or run one of the following commands:

    rvm reload
    echo rvm_auto_reload_flag=1 >> ~/.rvmrc # OR for auto reload with msg
    echo rvm_auto_reload_flag=2 >> ~/.rvmrc # OR for silent auto reload

按照提示重新打開(kāi)一個(gè)Shell或者輸入命令,這里輸入命令:
rvm reload

RVM reloaded!

更新Ruby版本
rvm install 2.7.0-preview1


③安裝CocoaPods

  • 根據(jù)系統(tǒng)版本選擇指令
    Mac為 OS X 10.11之前系統(tǒng)的安裝cocoapods 指令
    sudo gem install cocoapods
    Mac為 OS X 10.11以后系統(tǒng)的安裝cocoapods 指令
    sudo gem install -n /usr/local/bin cocoapods
    由于我的系統(tǒng)版本是 OS X 10.15离赫,所以選擇:sudo gem install -n /usr/local/bin cocoapods

? 到了這里就成功安裝CocoaPods了!如果你這樣想芭逝,我只能說(shuō)你太年輕了,后面的坑還多著呢Tㄐ亍Qⅰ!

  • 安裝本地庫(kù)
    pod setup

  • 查看 Cocoapods 版本
    pod --version

1.9.0.beta.3
  • 對(duì)安裝后的CocoaPods進(jìn)行測(cè)試:
    pod search RxSwift 或者 pod install,會(huì)出現(xiàn):
    pod search 失敗提示
pod install 失敗提示
  • 查看repo
    pod repo list
master
- Type: git (master)
- URL:  https://github.com/CocoaPods/Specs.git
- Path: /Users/Riber/.cocoapods/repos/master

trunk
- Type: CDN
- URL:  https://cdn.cocoapods.org/
- Path: /Users/Riber/.cocoapods/repos/trunk

2 repos

會(huì)發(fā)現(xiàn)有2 repo,針對(duì)于上面的 CDN 錯(cuò)誤胖翰,我們要?jiǎng)h除一個(gè)接剩。更新使用pod repo update

  • 解決[!]CDN: 錯(cuò)誤:
    在 podfile文件中添加source源:
    source 'https://github.com/CocoaPods/Specs.git'

? podfile文件中添加source源后,pod install和pod update可以正常操作萨咳,但是pod search有些庫(kù)卻不正常,此時(shí)可以在終端執(zhí)行:
pod repo remove trunk

? Trunk 是用來(lái)自己寫了一些類庫(kù)上傳到CocoaPods懊缺,但是這里我暫時(shí)用不到所以用不到,說(shuō)以刪除了培他。若是以后用到鹃两,可以自己重新添加進(jìn)行配置Trunk。要重新創(chuàng)建請(qǐng)看這里

  • 再次檢測(cè)是否成功舀凛,終端輸入
    pod search AFNetworking
    報(bào)錯(cuò):
[!] Unable to find a pod with name, author, summary, or description matching `AFNetworking`
  • 不幸的事是又失敗了俊扳,使出撒手锏
    git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
    這時(shí)候pod serarch Snapkit事沒(méi)問(wèn)題了
  • 終端輸入安裝出錯(cuò)
    pod install
    如下錯(cuò)誤:
    ### [!] Unable to add a source with url https://github.com/CocoaPods/Specs.git named master. You can try adding it manually in ~/.cocoapods/repos or via pod repo add
    在終端依次輸入然后回車:
rm -rf ~/.cocoapods

mkdir -p ~/.cocoapods/repos

cd ~/.cocoapods/repos

git clone https://github.com/CocoaPods/Specs.git master

? 這時(shí)再次使用pod install 和 pod update ,如絲滑般流暢猛遍,就這破東西整了一天馋记,記住不要輕易升級(jí)系統(tǒng)和新的版本Cocoapods否則后面的坑一個(gè)接著一個(gè)來(lái)。




錯(cuò)誤解決方案


  • 錯(cuò)誤:/usr/local/lib/ruby/gems/2.7.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/source/metadata.rb:15:ininitialize': undefined method with_indifferent_access' for false:FalseClass (NoMethodError)

終端輸入:

$ sudo gem update cocoapods 
$  rm -rf ~/.cocoapods/repos/trunk/


  • repos 為 0
pod repo list

0 repos

a. 先移除掉本地的master,在終端輸入pod repo remove master;
b. git clone --depth 1 https://github.com/CocoaPods/Specs.git master,等待下載完畢懊烤;
解決方案參考




卸載CocoaPosds

第一種卸載方法:
①卸載老版本
sudo gem uninstall cocoapods
出現(xiàn)

Remove executables:
    pod, sandbox-pod

in addition to the gem? [Yn]  Yn          //輸入 Yn抗果,確定刪除    
Removing pod
Removing sandbox-pod
Successfully uninstalled cocoapods-1.8.4



②查看本地安裝過(guò)的cocopods相關(guān)東西
gem list --local | grep cocoapods

cocoapods-core (1.8.4)
cocoapods-deintegrate (1.0.4)
cocoapods-downloader (1.3.0)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.1.0)
cocoapods-trunk (1.4.1)
cocoapods-try (1.1.0)

使用命令逐個(gè)刪除:

sudo gem uninstall cocoapods-core
//Successfully uninstalled cocoapods-core-1.8.4


sudo gem uninstall cocoapods-deintegrate
//Successfully uninstalled cocoapods-deintegrate-1.0.4

sudo gem uninstall cocoapods-downloader 
//Successfully uninstalled cocoapods-downloader-1.3.0

.....
...
..

或者使用腳本命令進(jìn)行全部的刪除:
sudo rm -rf /usr/local/bin/pod ; gem list | grep cocoapods | awk '{print $1}' | while read line; do sudo gem uninstall $line;done
如下圖:

CocoaPods相關(guān)的東西



第二種卸載方法:
①查找目前版本的pod路徑
which pod

②移除現(xiàn)有pod
rm -rf /usr/local/bin/pod

? 這樣CocoaPods 就卸載干凈了。




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奸晴,一起剝皮案震驚了整個(gè)濱河市冤馏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌寄啼,老刑警劉巖逮光,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異墩划,居然都是意外死亡涕刚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門乙帮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)杜漠,“玉大人,你說(shuō)我怎么就攤上這事察净〖蒈睿” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵氢卡,是天一觀的道長(zhǎng)锈至。 經(jīng)常有香客問(wèn)我,道長(zhǎng)译秦,這世上最難降的妖魔是什么峡捡? 我笑而不...
    開(kāi)封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任击碗,我火速辦了婚禮,結(jié)果婚禮上们拙,老公的妹妹穿的比我還像新娘稍途。我一直安慰自己,他們只是感情好砚婆,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布晰房。 她就那樣靜靜地躺著,像睡著了一般射沟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上与境,一...
    開(kāi)封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天验夯,我揣著相機(jī)與錄音,去河邊找鬼摔刁。 笑死挥转,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的共屈。 我是一名探鬼主播绑谣,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼拗引!你這毒婦竟也來(lái)了借宵?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤矾削,失蹤者是張志新(化名)和其女友劉穎壤玫,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體哼凯,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欲间,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了断部。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猎贴。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蝴光,靈堂內(nèi)的尸體忽然破棺而出她渴,到底是詐尸還是另有隱情,我是刑警寧澤蔑祟,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布惹骂,位于F島的核電站,受9級(jí)特大地震影響做瞪,放射性物質(zhì)發(fā)生泄漏对粪。R本人自食惡果不足惜右冻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望著拭。 院中可真熱鬧纱扭,春花似錦、人聲如沸儡遮。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鄙币。三九已至肃叶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間十嘿,已是汗流浹背因惭。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绩衷,地道東北人蹦魔。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像咳燕,于是被迫代替她去往敵國(guó)和親勿决。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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