目錄
- 快速檢測(cè)Mac中各個(gè)環(huán)境
- 前言
- 【一】安裝RVM
- 【二】安裝Homebrew
- 【三】安裝Ruby環(huán)境
- 【四】切換Source源,替換Ruby源
- 【五】升級(jí)Gem
- 【六】安裝Cocoapods
- 【七】升級(jí)和卸載CocoaPods
- 補(bǔ)充:MacOS默認(rèn)會(huì)安裝好
ruby
環(huán)境,如果ruby
環(huán)境已經(jīng)安裝好,則直接跳過進(jìn)行第四步驟。
-
快速檢測(cè)MacOS中各個(gè)環(huán)境:
檢測(cè)RVM:
rvm -v
檢測(cè)Homebrew:
brew --version
檢測(cè)Ruby:
ruby -v
檢測(cè)Sources源:
gem sources -l
檢測(cè)Gem版本:
gem -v
檢測(cè)Cocoapods版本:
pod --version
前言
我這臺(tái)設(shè)備是M1芯片的Macmini,最近清空系統(tǒng)了,需要重新配置一下CocoaPods,并做個(gè)記錄。
2020款M1 Mac mini
macOS Monterry 12.2.1
Xcode版本:Version 13.3
【一】安裝RVM
-
打開終端,執(zhí)行以下命令:
curl -L get.rvm.io | bash -s stable
結(jié)果輸出:
mac@Macmini ~ % curl -L get.rvm.io | bash -s stable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 194 100 194 0 0 375 0 --:--:-- --:--:-- --:--:-- 380
100 24535 100 24535 0 0 15449 0 0:00:01 0:00:01 --:--:-- 89871
Downloading https://github.com/rvm/rvm/archive/1.29.12.tar.gz
curl: (28) Operation timed out after 30005 milliseconds with 0 out of 0 bytes received
curl: (28) Connection timed out after 30005 milliseconds
Downloading https://github.com/rvm/rvm/releases/download/1.29.12/1.29.12.tar.gz.asc
curl: (28) Connection timed out after 30005 milliseconds
curl: (28) Connection timed out after 30005 milliseconds
curl: (28) Connection timed out after 30005 milliseconds
Found PGP signature at: 'https://github.com/rvm/rvm/releases/download/1.29.12/1.29.12.tar.gz.asc',
but no GPG software exists to validate it, skipping.
Upgrading the RVM installation in /Users/mac/.rvm/
RVM PATH line found in /Users/mac/.mkshrc /Users/mac/.profile /Users/mac/.bashrc /Users/mac/.zshrc.
RVM sourcing line found in /Users/mac/.profile /Users/mac/.bash_profile /Users/mac/.zlogin.
Upgrade of RVM in /Users/mac/.rvm/ is complete.
Thanks for installing RVM ??
Please consider donating to our open collective to help us maintain RVM.
?? Donate: https://opencollective.com/rvm/donate
-
查看rvm是否安裝成功
rvm -v
結(jié)果輸出:
mac@Macmini ~ % rvm -v
rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
【二】安裝Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果出現(xiàn)如下錯(cuò)誤提示
zsh: command not found: brew
則切換方案【一】
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
我這里選擇中科大的源序號(hào)1,需要輸入開機(jī)密碼,接來來驗(yàn)證是否安裝成功:
brew --version
mac@Macmini ~ % brew --version
Homebrew 3.4.2-19-g600d84e
Homebrew/homebrew-core (git revision 32611b17187; last commit 2022-03-21)
Homebrew/homebrew-cask (git revision 616d8706df; last commit 2022-03-21)
【三】安裝Ruby環(huán)境
列出已有的ruby
rvm list known
mac@Macmini ~ % 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 Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]
# IronRuby
ironruby[-1.1.3]
ironruby-head
我這里安裝最新版本
rvm install 3.0.0
安裝成功后,我們讓其在本地環(huán)境中生效:
rbenv shell 3.0.0
查詢已經(jīng)安裝的ruby
rvm list
Ruby 設(shè)置為系統(tǒng)默認(rèn)版本
rvm 3.0.0 --default
查看是否設(shè)置正確
ruby -v
mac@Macmini ~ % ruby -v
ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]
【四】切換Source源,替換Ruby源
因?yàn)镽uby的默認(rèn)源使用的是cocoapods.org,國(guó)內(nèi)訪問這個(gè)網(wǎng)址有時(shí)候會(huì)有問題,通常解決方案是將遠(yuǎn)替換成國(guó)內(nèi)Ruby鏡像
刪除原始的源
gem sources --remove https://rubygems.org/
添加新源(國(guó)內(nèi)Ruby鏡像)
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/
國(guó)內(nèi)Ruby鏡像源(目前已廢棄)
gem source -a https://gems.ruby-china.com
驗(yàn)證是否替換成功
gem sources -l
輸出如下結(jié)果表示替換成功:
*** CURRENT SOURCES ***
https://gems.ruby-china.com
【五】升級(jí)Gem
Gem
是來管理Ruby
標(biāo)準(zhǔn)包,升級(jí)Gem
,如果最新版本則不需要升級(jí):
sudo gem update --system
查看當(dāng)前gem
版本
gem -v
mac@Macmini ~ % gem -v
3.0.3.1
不升級(jí)在下面步驟可能會(huì)報(bào)很多錯(cuò)誤的,因?yàn)镚em版本太低,無法安裝CocoaPods。
【六】安裝Cocoapods
sudo gem install -n /usr/local/bin cocoapods
查看是否安裝成功
pod --version
結(jié)果打印
mac@Macmini ~ % pod --version
1.11.2
安裝成功執(zhí)行
pod setup
將Github上的開源庫都托管都安裝Podspec索引安裝到到本地
檢測(cè)是否安裝成功:可以利用搜索AFNetworking來檢測(cè)是否能搜索到
pod search AFNetworking
mac@Macmini ~ % pod search AFNetworking
Setup completed
Creating search index for spec repo 'master'..
第一次會(huì)出現(xiàn)上面的 Creating search index for spec repo 'master'..
等到 出現(xiàn) Done
后 就會(huì)出現(xiàn)我們搜索的結(jié)果,再次輸入命令就不會(huì)出現(xiàn)這行代碼了,直接就能搜索了。
如果出現(xiàn)以下報(bào)錯(cuò)等
[!] CDN: trunk - Cannot perform full-text search because Algolia returned an error: 0: Cannot reach any host: execution expired, execution expired, execution expired, execution expired
可以用終端執(zhí)行命令
pod repo remove trunk
然后重啟終端即可。
-> AFNetworking (4.0.1)
A delightful networking framework for Apple platforms.
pod 'AFNetworking', '~> 4.0.1'
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 4.0.1, 4.0.0, 3.2.1, 3.2.0, 3.1.0, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3, 3.0.0-beta.2,
3.0.0-beta.1, 2.7.0, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0,
2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3,
1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0,
0.7.0, 0.5.1 [master repo]
- Subspecs:
- AFNetworking/Serialization (4.0.1)
- AFNetworking/Security (4.0.1)
- AFNetworking/Reachability (4.0.1)
- AFNetworking/NSURLSession (4.0.1)
- AFNetworking/UIKit (4.0.1)
-> AFNetworking+AutoRetry (0.0.5)
Auto Retries for AFNetworking requests
pod 'AFNetworking+AutoRetry', '~> 0.0.5'
- Homepage: https://github.com/shaioz/AFNetworking-AutoRetry
- Source: https://github.com/shaioz/AFNetworking-AutoRetry.git
- Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]
到此就代表 CocoaPods 真正安裝成功!
【七】升級(jí)和卸載CocoaPods
升級(jí)命令
sudo gem install -n /usr/local/bin cocoapods --pre
卸載命令
sudo gem uninstall -n /usr/local/bin cocoapods