Mac 安裝 Cocoapods
導引
如果你的 Mac OSX 升級到 10.11.x+, 並且需要安裝 Cocoapods, 可以參考本博客.
安裝 ruby
Mac 系統自帶了 ruby, 但是建議大家使用 Homebrew 安裝 ruby.
因為 Cocoapods 升級需要對應的 ruby 版本也要升級, 使用 Homebrew 比較方便.
安裝 ruby: brew install ruby
查看當前安裝的 ruby 版本: ruby -v
會得到類似下面的信息:ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
gem
是管理 Ruby 庫和程序的標准包.
安裝了 ruby, 自帶了 gem
工具.
可以使用 gem -v
查看 gem 版本.
安裝 Cocoapods
1.移除原來的源, 不管以前是否安裝過 Cocoapods.
gem sources --remove https://ruby.taobao.org/
2.重新添加源, 注意是 https.
gem sources -a https://gems.ruby-china.org/
之前 taobao 的源 好像已經不行了.
3.查看是否添加成功, 該步驟可選.
gem sources -l
安裝, 使用 root 權限安裝.
sudo gem install -n /usr/local/bin cocoapods
這種安裝方式, 會安裝最新的 release 版本.
你也可以使用下面兩種方式來安裝.
sudo gem install -n /usr/local/bin cocoapods -v 1.0.0
sudo gem install -n /usr/local/bin cocoapods --pre
卸載 Cocoapods
卸載 Cocoapods 只需執行:
sudo gem uninstall cocoapods
如果想刪除本地的 pod repo, 可以這樣:
rm -fr ~/.cocoapods/
建立本地 repo
安裝完 Cocoapods 后, 需要建立本地的 repo.
pod setup
即使你現在不執行 pod setup
, 后面進行 pod install
或者 pod update
的時候, 也會自動的進行 pod setup
.
執行 pod setup
的目的是將所有第三方的 podspec 索引文件更新到本地的 ~/.cocoapods/repos
目錄中.
安裝使用中遇到的問題
問題1: 命令行執行 pod 發生: pod command not found
, 但是 sudo pod
卻可以執行.
解決方案即如下步驟
sudo gem uninstall cocoapods
sudo gem install -n /usr/local/bin cocoapods
- 賦予/usr/local/bin給予執行與讀取權限
sudo chmod -R +rx /usr/local/bin/
建議最好設置代理.
問題2: 更新 gem 過程中, 遇到
Operation not permitted - /usr/bin/update_rubygems
可以通過通過 brew 安裝 ruby 解決.
brew install ruby
問題3: pod setup 失敗
失敗提示信息類似:
Cloning into 'master'...
error: RPC failed; curl 56 SSLRead() return error -36
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解決方案: 更新 gem
sudo gem update --system
問題4: 添加源, 提示如下問題
source https://gems.ruby-china.org/ already present in the cache
這個說明你已經添加過該源, 可以使用
gem sources -l
來查看已經添加的源.
常用操作
1. sudo gem update --system
更新 gem
2.pod repo update
更新本地倉庫.
3.pod search xxx
搜索 cocoapods 項目.
4.pod list
列出所有可用的庫.
5.pod install
根據 podfile
和 podfile.lock
來安裝庫.
默認會執行 pod repo update
.
可以加入參數 –no-repo-update
不執行 pod repo update
.
6.pod update
更新已安裝的庫到最新版本, 並且創建新的 Podfile.lock 文件.
該命令也會默認會執行 pod repo update
.
可以加入參數 –no-repo-update
不執行 pod repo update
.
問題:
升級 ruby 到 2.4 版本后, cocoapods 無法使用了.
升級的 ruby 版本信息:
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin15]
|
使用任何 pod 命令都報錯:
/usr/local/Cellar/ruby/2.4.0/lib/ruby/2.4.0/rubygems.rb:270:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException)
from /usr/local/Cellar/ruby/2.4.0/lib/ruby/2.4.0/rubygems.rb:298:in `activate_bin_path'
from /usr/local/bin/pod:22:in `<main>'
|
查找各種解決方案, 最終還是沒有解決.
你可以在 這里 下載 Cocoapods 的 Mac 版本 App 使用.