iOS-Cocoapods 的正確安裝姿勢

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

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

安裝pods需要依賴 ruby 環(huán)境,而安裝 ruby 你需要借助工具 rvm,rvm是用來管理 ruby 版本的,也就是說你的電腦上可以安裝多個不同版本的 ruby 可以使用 rvm 來管理他們。而安裝 rvm 又需要借助另外一個工具 Homebrew,Homebrew是一款Mac OS平臺下的軟件包管理工具,擁有安裝、卸載、更新、查看、搜索等很多實用的功能。這里不對 Homebrew 做過多講解。

1.1 總體步驟

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

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

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

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

2. 先查看本地安裝過的cocopods相關(guān)東西,命令如下:
$ gem list --local | grep cocoapods
會顯示如下:
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. 使用刪除命令, 逐個刪除:
$  sudo gem uninstall cocoapods-core

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

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

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

1.4. RVM

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

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

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

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

Update 2022.11.18

這里如果直接通過1.5進(jìn)行安裝ruby的話, 會報一些錯誤

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, 解決辦法就是跳轉(zhuǎn)到1.7步驟, 先安裝home-brew, 安裝完成后再通過1.51.6步驟語句再安裝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ù)等待漫長的下載,編譯過程,完成以后,Ruby, Ruby Gems 就安裝好了。

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

卸載一個已安裝版本的命令
$ rvm remove + 要卸載的版本號

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

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

$ gem -v
會顯示如下:
3.0.4

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

1.6 更換鏡像源

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

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

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

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

1.7 安裝home-brew

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

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

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

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

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

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

  1. 安裝插件, 這個時候如果直接運行1.5步驟就可能報錯:
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

這時候還可能報錯:

==> 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

這時候通過:

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

然后再通過brew install xxx 安裝插件即可.

  1. 檢測是否存在沖突
$ brew doctor
  1. 檢查是否安裝成功, 出現(xiàn)版本號就成功了.
$ brew --version
  1. 返回1.51.6步驟安裝ruby, 完成后再通過1.8步驟安裝cocoapods

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

1. 坑點:
使用$  sudo gem install cocoapods安裝cocoapods 極有可能報error: RPC failed / early EOF

2. 正確的使用方法:
A. 看到報這個錯之后,需要在終端執(zhí)行$  sudo xcode-select -switch  /Applications/Xcode.app/Contents/Developer 這句,具體如下: 先找到xcode,顯示包內(nèi)容,在Contents里找到Developer文件,然后在終端輸入sudo xcode-select -switch ,把找到的Developer文件夾拖進(jìn)終端,就得到后邊的路徑啦,然后執(zhí)行。因為xcode位置和版本安裝的不一樣,可能路徑會有所不同。我的最終是sudo xcode-select -switch  /Applications/Xcode.app/Contents/Developer 這個。
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的版本時可能會出現(xiàn)下面的錯誤: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.
然后重新打開終端即可.

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

CocoaPods 1.8 版本之后的一些說明!

我的解決方法

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

.End

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容