在安裝過程中出現(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.5、1.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.
- 安裝 (這里最好去官網(wǎng)復(fù)制粘貼, 因為這個地址總會變)
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
安裝過程中需要按回車鍵確認(rèn)
發(fā)現(xiàn)問題
最近發(fā)現(xiàn), 不管是否通過梯子都無法通過官網(wǎng)的代碼直接安裝homebrew, 搜了好久, 改hosts、git config --global http proxy都不行, 果斷放棄了解決問題(
可以使用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.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 安裝插件即可.
- 檢測是否存在沖突
$ brew doctor
- 檢查是否安裝成功, 出現(xiàn)版本號就成功了.
$ brew --version
- 返回
1.5、1.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:
我的解決方法
// 在podfile 文件中添加 (選一個就行)
source 'https://github.com/CocoaPods/Specs.git'
或
source 'https://cdn.cocoapods.org/'
.End