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

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

重新一次執(zhí)行命令安裝RVM
curl -L https://get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
3、查看RVM版本
// 終端執(zhí)行rvm-v
// 結果如下
rvm1.29.12(latest)byMichalPapis,PiotrKuczynski,WayneE.Seguin[https://rvm.io]
4、安裝ruby
1.查看可用安裝
// 終端執(zhí)行
rvm list known
結果如下:
# 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,但是截止到標題日期最新版是3.3.6 穩(wěn)定版,下面安裝會使用3.3.6進行示例(最新版可能會有一些兼容問題,例如一些插件并沒有支持到最新版導致不能正常使用,這個遇到問題了再說)。
2.安裝ruby
rvm install 3.3.6
或
rvm install ruby-3.3.6
提示報錯: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.
說明需要安裝?Homebrew
3.安裝Homebrew:
檢測是否安裝homebrew
brew -v

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


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

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

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

按?Esc?退出編輯,按?Shift +冒號,輸入?wq?退出文件編輯,然后下載?Podfile?文件內的第三方,執(zhí)行命令:pod install
? 常用命令:
# 第一次使用安裝框架 //只用安裝一次,之后使用 添加刪除都用pod update --no-repo-update?
$ pod install
# 安裝框架,不更新本地索引,速度快
$ pod install--no-repo-update
# 今后升級、添加、刪除框架,或者框架不好用
$ pod update
# 更新框架,不更新本地索引,速度快
$ pod update--no-repo-update
# 搜索框架
$ pod searchXXX
# 幫助
$ pod--help
三、CocoaPods使用過程中遇到的問題
1、去除CocoaPods相關庫警告
去除所有警告,在platform :ios, ‘x.0’ 的后面加入這句:
inhibit_all_warnings!
對單個消除警告:
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)
問題原因:
CocoaPods 1.8+將CDN切換為默認的spec repo源,并附帶一些增強功能!CDN支持最初是在1.7版本中引入的,最終在1.7.2中完成。 它旨在大大加快初始設置和依賴性分析。
解決辦法:
podfile文件中添加source源:
source 'https://github.com/CocoaPods/Specs.git
移除trunk
pod reporemovetrunk
四、CocoaPods卸載
1.卸載老版本cocopods
sudo gem uninstall cocoapods
2.查看本地安裝過的cocopods相關東西
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)
然后使用命令逐個刪除
sudo gem uninstall cocoapods-coresudo gem uninstall cocoapods-deintegrate
如果怕刪不干凈有殘留的話可以找到 .cocopods 文件(隱藏文件)刪掉就好
看不到該文件可以在終端輸操作
顯示隱藏文件:defaults write com.apple.finder AppleShowAllFiles-booltruekillall Finder隱藏文件:defaults write com.apple.finder AppleShowAllFiles-boolfalsekillall Finder
刪除完之后接下來安裝RVM(如果以前安裝過的話需要找到.rvm然后刪掉 和.cocopods同理)