使用Ruby安裝CocoaPods
一、安裝CocoaPods
1、查看當(dāng)前Ruby版本
Mac電腦自帶Ruby環(huán)境,但是安裝CocoaPods需要2.2.2版本及以上的,查看當(dāng)前Ruby版本
// 終端執(zhí)行
ruby-v
// 執(zhí)行結(jié)果如下:如果不是下面的版本,下面會(huì)演示如何安裝
ruby3.3.6(2024-11-05revision75015d4c1f)[arm64-darwin24]
//如果執(zhí)行結(jié)果為:說(shuō)明沒(méi)有安裝ruby需要安裝
zsh: command not found: rbuy
2、安裝RVM
后面需要使用RVM來(lái)安裝或者升級(jí)Ruby;分別執(zhí)行下面三條命令:
curl -L https://get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
如果執(zhí)行第一條命令后報(bào)錯(cuò):說(shuō)明SDN污染,需要查找真實(shí)IP在hosts中添加對(duì)應(yīng)映色

終端輸入如下命令進(jìn)入hosts:
sudo vi /etc/hosts
輸入 i 進(jìn)入編輯模式,并如圖添加IP地址與域名,完成后按esc鍵輸入 :wq 退出編輯模式
輸入:185.199.108.133 raw.githubusercontent.com
IP:185.199.108.133
域名:raw.githubusercontent.com
IP地址查詢(xún)網(wǎng)址:https://www.ipaddress.com
這里是查詢(xún)處理的IP,選一個(gè)就可以了

重新一次執(zhí)行命令安裝RVM
curl -L https://get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
3、查看RVM版本
// 終端執(zhí)行rvm-v
// 結(jié)果如下
rvm1.29.12(latest)byMichalPapis,PiotrKuczynski,WayneE.Seguin[https://rvm.io]
4、安裝ruby
1.查看可用安裝
// 終端執(zhí)行
rvm list known
結(jié)果如下:
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.10]
[ruby-]2.5[.8]
[ruby-]2.6[.6]
[ruby-]2.7[.2]
[ruby-]3[.0.0]
ruby-head
.....
以下省略
上面顯示的最新版本是ruby-3.0.0,但是截止到標(biāo)題日期最新版是3.3.6 穩(wěn)定版,下面安裝會(huì)使用3.3.6進(jìn)行示例(最新版可能會(huì)有一些兼容問(wèn)題,例如一些插件并沒(méi)有支持到最新版導(dǎo)致不能正常使用,這個(gè)遇到問(wèn)題了再說(shuō))。
2.安裝ruby
rvm install 3.3.6
或
rvm install ruby-3.3.6
提示報(bào)錯(cuò):Something went wrong during Homebrew installation,
can not find 'brew' command, please report a bug: https://github.com/rvm/rvm/issues
Requirements installation failed with status: 1.
說(shuō)明需要安裝?Homebrew
3.安裝Homebrew:
檢測(cè)是否安裝homebrew
brew -v

如果有安裝就卸載在在安裝:
卸載命令:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
沒(méi)有安裝或者卸載后執(zhí)行安裝命令:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
后續(xù)按提示進(jìn)行就可以了,安裝完需按提示重啟終端,或者輸入命令:


如果安裝Homebrew失敗就需要卸載重新安裝
重新執(zhí)行命令:rvm install 3.3.6 安裝ruby
5、設(shè)置Ruby默認(rèn)版本
如果你安裝了多個(gè)Ruby就需要設(shè)置一下默認(rèn)的版本
rvm use 3.3.6 --default
6、更新鏡像源
查看當(dāng)前鏡像源命令:gem sources -l?
執(zhí)行結(jié)果如下那么就需要替換成國(guó)內(nèi)鏡像:
***CURRENTSOURCES***
https://rubygems.org/
1、移除原有鏡像源:
gem sources --remove https://rubygems.org/
2、添加國(guó)內(nèi)鏡像源:
gem sources --add https://gems.ruby-china.com
3、再次查看當(dāng)前鏡像源命令結(jié)果如下就表示替換成功:gem sources -l?
*** CURRENT SOURCES ***
https://gems.ruby-china.com
7、安裝cocoapods
sudo gem install -n /usr/local/bin cocoapods
如果以上安裝cocoapads報(bào)錯(cuò)
ERROR: While executing gem ... (Gem::FilePermissionError)
更換為下面安裝方式
gem install cocoapods --user-install
8、安裝本地庫(kù),這個(gè)內(nèi)容有點(diǎn)多,建議先看完在操作
說(shuō)明:該步驟是安裝本地庫(kù),不安裝也沒(méi)事,項(xiàng)目可以照常pod install,只不過(guò)pod search 命令用不了;
/// A.如果你開(kāi)啟了梯子
gitclonehttps://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk
/// B.這是國(guó)內(nèi)的鏡像地址,不需要梯子,速度剛剛的,想省事的就直接選這個(gè)吧gitclonehttps://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git ~/.cocoapods/repos/trunk
上述命令執(zhí)行完成之后的目錄結(jié)構(gòu)見(jiàn)下圖,如果不是就自己手動(dòng)移動(dòng)一下

檢驗(yàn)一下成果
pod search Alamofire ?/// 第一次比較慢,耐心等待 按Q鍵退出搜索
二、CocoaPods的具體使用
新建一個(gè)Xcode工程,cd到工程根目錄下
/// 創(chuàng)建Podfile文件執(zhí)行命令:
pod init
1.通過(guò)xcode打開(kāi)添加依賴(lài)庫(kù)進(jìn)行驗(yàn)證,如下

2通過(guò)vim來(lái)配置podfile:
先用?cd?進(jìn)入到工程中去,輸入指令vim podfile?創(chuàng)建?Podfile?文件,然后按?i?進(jìn)入到編輯模式來(lái)配置?Podfile?文件:

按?Esc?退出編輯,按?Shift +冒號(hào),輸入?wq?退出文件編輯,然后下載?Podfile?文件內(nèi)的第三方,執(zhí)行命令:pod install
? 常用命令:
# 第一次使用安裝框架 //只用安裝一次,之后使用 添加刪除都用pod update --no-repo-update?
$ pod install
# 安裝框架,不更新本地索引,速度快
$ pod install--no-repo-update
# 今后升級(jí)、添加、刪除框架,或者框架不好用
$ pod update
# 更新框架,不更新本地索引,速度快
$ pod update--no-repo-update
# 搜索框架
$ pod searchXXX
# 幫助
$ pod--help
三、CocoaPods使用過(guò)程中遇到的問(wèn)題
1、去除CocoaPods相關(guān)庫(kù)警告
去除所有警告,在platform :ios, ‘x.0’ 的后面加入這句:
inhibit_all_warnings!
對(duì)單個(gè)消除警告:
pod'MJExtension','~>3.0.15.1',:inhibit_warnings=>true
2、[!] Unable to find a pod with name, author, summary, or description matching xxx.
解決辦法:
刪除~/Library/Caches/CocoaPods目錄下的search_index.json文件
rm~/Library/Caches/CocoaPods/search_index.json
3、[!] CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/2/e/7/YTKNetworkExtension/0.1.0/YTKNetworkExtension.podspec.json, error: Failed to open TCP connection to raw.githubusercontent.com:443 (Connection refused - connect(2) for "raw.githubusercontent.com" port 443)
問(wèn)題原因:
CocoaPods 1.8+將CDN切換為默認(rèn)的spec repo源,并附帶一些增強(qiáng)功能!CDN支持最初是在1.7版本中引入的,最終在1.7.2中完成。 它旨在大大加快初始設(shè)置和依賴(lài)性分析。
解決辦法:
podfile文件中添加source源:
source 'https://github.com/CocoaPods/Specs.git
移除trunk
pod reporemovetrunk
四、CocoaPods卸載
1.卸載老版本cocopods
sudo gem uninstall cocoapods
2.查看本地安裝過(guò)的cocopods相關(guān)東西
gem list --local | grep cocoapods
顯示如下:
cocoapods(1.0.1)cocoapods-core(1.0.1)cocoapods-deintegrate(1.0.1)cocoapods-downloader(1.1.1)cocoapods-plugins(1.0.0)cocoapods-search(1.0.0)cocoapods-stats(1.0.0)cocoapods-trunk(1.0.0)cocoapods-try(1.1.0)
然后使用命令逐個(gè)刪除
sudo gem uninstall cocoapods-coresudo gem uninstall cocoapods-deintegrate
如果怕刪不干凈有殘留的話(huà)可以找到 .cocopods 文件(隱藏文件)刪掉就好
看不到該文件可以在終端輸操作
顯示隱藏文件:defaults write com.apple.finder AppleShowAllFiles-booltruekillall Finder隱藏文件:defaults write com.apple.finder AppleShowAllFiles-boolfalsekillall Finder
刪除完之后接下來(lái)安裝RVM(如果以前安裝過(guò)的話(huà)需要找到.rvm然后刪掉 和.cocopods同理)