iOS-Cocoapods 的正確安裝姿勢(shì)

在安裝過(guò)程中出現(xiàn)curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 問(wèn)題訪問(wèn)我的處理方式可能會(huì)對(duì)你有幫助.
文末附帶rvm 無(wú)法在線安裝的解決辦法.
文末還提供了pod install或者serach 過(guò)程中[!]CDN: trunk URL couldn't be downloaded:的解決辦法.

1. Mac環(huán)境下 Cocoapods 的安裝

安裝pods需要依賴 ruby 環(huán)境耕捞,而安裝 ruby 你需要借助工具 rvm森缠,rvm是用來(lái)管理 ruby 版本的,也就是說(shuō)你的電腦上可以安裝多個(gè)不同版本的 ruby 可以使用 rvm 來(lái)管理他們衷笋。而安裝 rvm 又需要借助另外一個(gè)工具 Homebrew,Homebrew是一款Mac OS平臺(tái)下的軟件包管理工具仲闽,擁有安裝贱鼻、卸載、更新汉买、查看衔峰、搜索等很多實(shí)用的功能。這里不對(duì) Homebrew 做過(guò)多講解。

1.1 總體步驟

#####下載Xcode —>安裝rvm —>安裝ruby —>安裝home-brew —>安裝cocoapods

下載Xcode —>安裝home-brew —>安裝rvm —>安裝ruby —>安裝cocoapods

1.2 安裝前垫卤,先檢查是否有安裝殘留

1. 如果之前裝過(guò)cocopods威彰,最好先卸載掉,卸載命令:
$ sudo gem uninstall cocoapods

2. 先查看本地安裝過(guò)的cocopods相關(guān)東西穴肘,命令如下:
$ gem list --local | grep cocoapods
會(huì)顯示如下:
cocoapods (1.7.2)
cocoapods-core (1.7.2)
cocoapods-deintegrate (1.0.4)
cocoapods-downloader (1.2.2)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.1.0)
cocoapods-trunk (1.3.1)
cocoapods-try (1.1.0)

3. 使用刪除命令, 逐個(gè)刪除:
$  sudo gem uninstall cocoapods-core

1.3 Mac文件夾的顯示隱藏命令行:

隱藏:defaults write com.apple.finder AppleShowAllFiles -bool true
顯示:defaults write com.apple.finder AppleShowAllFiles -bool false

這里選擇將隱藏文件顯示出來(lái); 退出終端歇盼,重啟Finder. 如果不確定,可以把主目錄下的隱藏文件都給刪了.

1.4. RVM

  • Ruby Version Manager,Ruby版本管理器评抚,包括Ruby的版本管理和Gem庫(kù)管理(gemset)
1. 安裝RVM
$ curl -sSL https://get.rvm.io | bash -s stable
期間可能需要管理員密碼, 以及自動(dòng)通過(guò)homebrew安裝依賴包旺遮,等待一段時(shí)間就安裝好了.

2. 載入 RVM 環(huán)境
$ source ~/.rvm/scripts/rvm

3. 檢查一下是否安裝正確
$ rvm -v
會(huì)顯示如下:
rvm 1.29.8 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
表示安裝正確.

注意: 也可使用 ($ rvm -v) 來(lái)判斷是否安裝了rvm
// 結(jié)果類似如下代表沒(méi)有安裝rvm
zsh: command not found: rvm 

Update 2022.11.18

這里如果直接通過(guò)1.5進(jìn)行安裝ruby的話, 會(huì)報(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.

意思就是沒(méi)有homebrew, 解決辦法就是跳轉(zhuǎn)到1.7步驟, 先安裝home-brew, 安裝完成后再通過(guò)1.51.6步驟語(yǔ)句再安裝ruby

1.5 用RVM安裝Ruby環(huán)境(homebrew 安裝完成后再安裝)

1. 列出已知的ruby版本
$ rvm list known

2. 選擇最新版本進(jìn)行安裝(這里以2.6.0為例)
$ rvm install 2.6.0

同樣繼續(xù)等待漫長(zhǎng)的下載盈咳,編譯過(guò)程耿眉,完成以后,Ruby, Ruby Gems 就安裝好了鱼响。

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

卸載一個(gè)已安裝版本的命令
$ rvm remove + 要卸載的版本號(hào)

4. RVM 裝好以后鸣剪,需要執(zhí)行下面的命令將指定版本的 Ruby 設(shè)置為系統(tǒng)默認(rèn)版本
$ rvm 2.6.0 --default

5. 測(cè)試操作是否正確(分 2 步)
$ ruby -v
會(huì)顯示如下:
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]

$ gem -v
會(huì)顯示如下:
3.0.4

注: RubyGems(簡(jiǎn)稱 gems)是一個(gè)用于對(duì) Ruby組件進(jìn)行打包的 Ruby 打包系統(tǒng)。 它提供一個(gè)分發(fā) Ruby 程序和庫(kù)的標(biāo)準(zhǔn)格式丈积,還提供一個(gè)管理程序包安裝的工具筐骇。

1.6 更換鏡像源

1. 查看當(dāng)前鏡像源
$ gem sources -l
會(huì)顯示如下:
*** CURRENT SOURCES *** 
http://rubygems.org/

2. 先刪除, 再添加
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://gems.ruby-china.com/

3. 再次查看, 測(cè)試是否成功
$ gem sources -l
會(huì)顯示如下:
*** CURRENT SOURCES ***
https://gems.ruby-china.com/

到這里就已經(jīng)把Ruby環(huán)境成功的安裝到了Mac OS X上,接下來(lái)就可以進(jìn)行相應(yīng)的開(kāi)發(fā)使用了江滨。

1.7 安裝home-brew

  • Homebrew: 是一個(gè)包管理器铛纬,用于在Mac上安裝一些OS X沒(méi)有的UNIX工具。
  • 官方網(wǎng)址: https://brew.sh/index_zh-cn
  • Homebrew是完全基于 Git 和 ruby.
  1. 安裝 (這里最好去官網(wǎng)復(fù)制粘貼, 因?yàn)檫@個(gè)地址總會(huì)變)
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

安裝過(guò)程中需要按回車鍵確認(rèn)

  1. 發(fā)現(xiàn)問(wèn)題
    最近發(fā)現(xiàn), 不管是否通過(guò)梯子都無(wú)法通過(guò)官網(wǎng)的代碼直接安裝homebrew, 搜了好久, 改hosts唬滑、git config --global http proxy都不行, 果斷放棄了

  2. 解決問(wèn)題(可以使用gtee代理的下載地址)

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

這個(gè)地址存放的都是國(guó)內(nèi)的鏡像, 直至安裝完成會(huì)發(fā)現(xiàn)告唆,環(huán)境變量也自動(dòng)配置好了,brew可以直接使用(brew help試試)晶密。如果不行擒悬,先執(zhí)行下source /Users/zcm/.zprofile。

  1. 安裝插件, 這個(gè)時(shí)候如果直接運(yùn)行1.5步驟就可能報(bào)錯(cuò):
Error running 'requirements_osx_brew_libs_install autoconf automake libtool pkg-config coreutils libyaml libksba readline zlib openssl@1.1',
please read /Users/lihe/.rvm/log/1668758532_ruby-3.0.0/package_install_autoconf_automake_libtool_pkg-config_coreutils_libyaml_libksba_readline_zlib_openssl@1.1.log
Requirements installation failed with status: 1.

不要慌, 按照提示把插件安裝上即可:

brew install autoconf
brew install automake
brew install libtool
brew install libyaml
brew install libxslt
brew install libksba
brew install openssl

這時(shí)候還可能報(bào)錯(cuò):

==> Installing dependencies for scrcpy: dav1d, frei0r, bdw-gc, libffi, pkg-config, guile, libtasn1, nettle, p11-kit, libevent, unbound, gnutls, lame, fribidi, pcre, python@3.9, glib, libpthread-stubs, xorgproto, libxau, libxdmcp, libxcb, libx11, libxext, libxrender, lzo, pixman, cairo, gobject-introspection, graphite2, harfbuzz, libass, libbluray, cjson, cmocka, mbedtls, librist, libsoxr, libvidstab, libogg, libvorbis, libvpx, opencore-amr, little-cms2, openjpeg, opus, rav1e, flac, libsndfile, libsamplerate, rubberband, sdl2, snappy, speex, srt, leptonica, libb2, lz4, libarchive, tesseract, theora, x264, x265, xvid, zeromq, zimg, ffmpeg and libusb
==> Installing scrcpy dependency: dav1d
fatal: not in a git directory
Error: Command failed with exit 128: git

這時(shí)候通過(guò):

brew -v

查看是否有如下信息:

Homebrew 3.6.11-25-gebe4447
fatal: detected dubious ownership in repository at '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'
To add an exception for this directory, call:

    git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
Homebrew/homebrew-core (no Git repository)
fatal: detected dubious ownership in repository at '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask'
To add an exception for this directory, call:

    git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
Homebrew/homebrew-cask (no Git repository)

如果出現(xiàn)以上信息的話稻艰,只需要安裝上面的提示執(zhí)行以下命令:

git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask

然后再通過(guò)brew install xxx 安裝插件即可.

  1. 檢測(cè)是否存在沖突
$ brew doctor
  1. 檢查是否安裝成功, 出現(xiàn)版本號(hào)就成功了.
$ brew --version
  1. 返回1.5懂牧、1.6步驟安裝ruby, 完成后再通過(guò)1.8步驟安裝cocoapods

1.8 安裝Cocoapods (步驟有點(diǎn)慢,不要急)

1. 坑點(diǎn):
使用$  sudo gem install cocoapods安裝cocoapods 極有可能報(bào)error: RPC failed / early EOF

2. 正確的使用方法:
A. 看到報(bào)這個(gè)錯(cuò)之后尊勿,需要在終端執(zhí)行$  sudo xcode-select -switch  /Applications/Xcode.app/Contents/Developer 這句僧凤,具體如下: 先找到xcode,顯示包內(nèi)容元扔,在Contents里找到Developer文件躯保,然后在終端輸入sudo xcode-select -switch ,把找到的Developer文件夾拖進(jìn)終端摇展,就得到后邊的路徑啦吻氧,然后執(zhí)行。因?yàn)閤code位置和版本安裝的不一樣咏连,可能路徑會(huì)有所不同盯孙。我的最終是sudo xcode-select -switch  /Applications/Xcode.app/Contents/Developer 這個(gè)。
B. 執(zhí)行$ sudo gem install -n /usr/local/bin cocoapods 
C. Git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master

然后就等待吧,下載完就ok了.

2. 離線安裝RVM方式

// 離線包
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
// if --path was specified when instaling rvm, use the specified path rather than '~/.rvm'

// 查詢 ruby的版本
rvm list known

在查詢 ruby的版本時(shí)可能會(huì)出現(xiàn)下面的錯(cuò)誤:A RVM version () is installed yet 1.25.14 (master) is loaded.Please do one of the following:* 'rvm reload'* open a new shell* 'echo rvm_auto_reload_flag=1 >> ~/.rvmrc' # for auto reload with msg.* 'echo rvm_auto_reload_flag=2 >> ~/.rvmrc' # for silent auto reload.


解決辦法: sudo rm -rf /users/your_username/.rvmThen close and reopen the terminal.
然后重新打開(kāi)終端即可.

3. [!] CDN: trunk URL couldn't be downloaded:

CocoaPods 1.8 版本之后的一些說(shuō)明!

我的解決方法

// 在podfile 文件中添加 (選一個(gè)就行)
source 'https://github.com/CocoaPods/Specs.git'
或
source 'https://cdn.cocoapods.org/'

.End

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末祟滴,一起剝皮案震驚了整個(gè)濱河市振惰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌垄懂,老刑警劉巖骑晶,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異草慧,居然都是意外死亡桶蛔,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門漫谷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)仔雷,“玉大人,你說(shuō)我怎么就攤上這事舔示〉牛” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵惕稻,是天一觀的道長(zhǎng)竖共。 經(jīng)常有香客問(wèn)我,道長(zhǎng)俺祠,這世上最難降的妖魔是什么公给? 我笑而不...
    開(kāi)封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蜘渣,結(jié)果婚禮上妓布,老公的妹妹穿的比我還像新娘。我一直安慰自己宋梧,他們只是感情好匣沼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著捂龄,像睡著了一般释涛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上倦沧,一...
    開(kāi)封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天唇撬,我揣著相機(jī)與錄音,去河邊找鬼展融。 笑死窖认,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扑浸,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼烧给,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了喝噪?” 一聲冷哼從身側(cè)響起础嫡,我...
    開(kāi)封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酝惧,沒(méi)想到半個(gè)月后榴鼎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晚唇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年巫财,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哩陕。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡翁涤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萌踱,到底是詐尸還是另有隱情葵礼,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布并鸵,位于F島的核電站鸳粉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏园担。R本人自食惡果不足惜届谈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弯汰。 院中可真熱鬧艰山,春花似錦、人聲如沸咏闪。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸽嫂。三九已至纵装,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間据某,已是汗流浹背橡娄。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留癣籽,地道東北人挽唉。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓滤祖,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親瓶籽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子匠童,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355