安裝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
-
選擇最新的版本進(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)有點(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ò)誤
若出現(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 失敗提示
- 查看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:in
initialize': undefined methodwith_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
如下圖:
第二種卸載方法:
①查找目前版本的pod路徑
which pod
②移除現(xiàn)有pod
rm -rf /usr/local/bin/pod
? 這樣CocoaPods 就卸載干凈了。