cocoapods安装

一般使用的Ruby版本是Mac系统自带的,可能版本较低,因此需要进行升级。使用RVM对Ruby进行升级

一、安装 RVM

RVM: Ruby Version Manager,即Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)

  1. 安装 RVM
    安装方法:文档说明
curl -L get.rvm.io | bash -s stable

等待一段时间后就可以成功安装好 RVM

安装RVM 失败:
通过浏览器打开该网址:https://get.rvm.io ,将网页中shell语句全部复制保存到本地文件命名为:vm_install.sh
执行脚本:/Users/xxx/Desktop/rvm_install.sh 为.sh脚本文件路径
chmod 777 /Users/xxx/Desktop/rvm_install.sh
sh /Users/xxx/Desktop/rvm_install.sh

  1. 设置本地路径
source ~/.bashrc
source ~/.bash_profile
  1. 测试是否安装正常
rvm -v
image.png

二、用RVM升级Ruby

  1. 查看当前ruby版本
ruby -v

结果:ruby 2.3.7

  1. 列出已知的ruby版本
// 查找ruby版本
rvm list known  
// 或者去官网
[地址](https://www.ruby-lang.org/en/downloads/)
  1. 安装ruby
// 重新安装 ruby 环境(默认安装最新版本)
rvm reinstall ruby --disable-binary
// 安装指定版本
rvm install +版本号,例如 rvm install 2.7.2
// 安装完ruby,在安装pod如果还报错,可能需要
rvm reload
  1. 查看已安装的最新版本
rvm list

5.设置默认

rvm use 2.2.4@newgemset --create --default
或者:
rvm use 2.2.4 --create
rvm --default ruby-2.2.4
image.png

安装完成之后ruby -v查看是否安装成功

其它安装指令:

  • 将2.2.4版本指令为新的并创建
    rvm use 2.2.4@newgemset --create --default
  • 重新安装
    rvm reinstall ruby-2.2.4
  • 移除已安装的软件
    rvm remove ruby-2.2.4
  • 查看已安装的最新版本
    rvm list
  • 查看当前ruby版本
    ruby -v
  • 升级 rvm
    rvm get master
  • 再次安装
    rvm install 2.4.1

三、cocoapods的安装

  1. 先升级Gem(可以省略)
sudo gem update --system
  1. 切换cocoapods的数据源
    先删除
gem sources --remove https://rubygems.org/

再添加

gem sources -a https://gems.ruby-china.com/

再查看

gem source -l
  1. 安装cocoapods
sudo gem install -n /usr/local/bin cocoapods

再加一句,完美解决

sudo xcode-select --switch /Applications/Xcode.app
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

安装命令可能报错:

// 新版系统报错问题:
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

解决方法:

// 找到ruby源文件路径:.rvm/src目录下
1、cd ~/.rvm/src/ruby-3.0.0
2、./configure  --with-openssl-dir=/usr/local/ssl
3、make
4、sudo make install

// 自动编译,解决办法如下:
brew install openssl
rvm reinstall ruby-3.0.1-version --with-openssl-dir=`brew --prefix openssl`

较新版本的OSX不推荐使用openSSL,从而打破了许多依赖关系。需要重新安装ruby,但要确切指定openSSL库的位置。如果您使用的是rvm,则如下所示:
// 只需要设置此env变量,以便编译器具有openssl库的正确路径(如果在macOS上使用Homebrew,请尝试brew info openssl来查看此信息)
brew info openssl
// 安装的时候需要指定库的位置
rvm reinstall 3.0.1 --with-openssl-dir=brew --prefix openssl

  1. 设置pod仓库
    在终端中输入如下命令来完成安装(或者将 CocoaPods Specs repository复制到电脑上~/.cocoapods目录下)
pod setup
或者:
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git  ~/.cocoapods/repos/trunk
  • 有时候pod setup之后会直接显示完成,我们可以直接cd到目录~/.cocoapods/repos下面执行命令
git clone https://github.com/CocoaPods/Specs.git master
或者:
git clone --depth=1  https://github.com/CocoaPods/Specs.git master
  1. 如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup
pod repo remove master  
pod setup
  1. 如果有版本号,则说明已经安装成功
pod --version

四、Cocoapods使用

  1. 使用search命令搜索类库名
    pod search AFNetworking
  2. 打开xcode,新建一个工程
  3. 进入要安装框架的项目的.xcodeproj同级文件夹,使用命令cd,将新建的工程文件拉进来(切换到项目文件路径)
  4. 在该文件夹中新建一个文件Podfile
    pod init
    或者直接输入命令创建Podfile文件
    touch Podfile
    在新建的文件中告诉cocoapods需要安装的框架信息:
    该框架支持的平台、适用的iOS版本、框架的名称、框架的版本
  5. 安装命令
    pod install
    pod install —no-repo-update
    pod update --no-repo-update
  • 常见错误:
    [!] /usr/bin/git pull --ff-only
    原因: Cocoapods的分支不支持当前最新的Xcode版本
    解决办法: 删除master分支,重新建立新的分支,然后重新设置仓库即可
    sudo rm -fr ~/.cocoapods/repos/master
    pod setup

五、卸载Cocoapods

  1. 命令行运行命令进行卸载
    sudo gem uninstall cocoapods
    或者:
    sudo gem uninstall -n /usr/local/bin cocoapods
  2. 前往文件夹,可以找到整个文件删除
    ~/.cocoapods

六、cocoapods降低版本

当cocoapods版本跟第三方库不兼容时,我们需要降低cocoapods的版本,才能运行第三方库(有的时候我们需要降低Cocoapods的版本来解决第三方库的兼容问题
)
1. 查看cocoa pod的版本
pod --version
会看到cocoapods (1.3.1)
2. 移除pod组件
这条指令会告诉你Cocoapods组件装在哪里 :
which pod
可以手动移除这个组件 :
sudo rm-rf
3. 移除 RubyGems 中的 Cocoapods程序包
Q: RubyGems是什么?
A: RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

  • 查看gems中本地程序包

    gem list
    image.png
  • 发现Cocoapods的程序包


    image.png
  • 移除程序包
    在命令行输入:
    sudo gem uninstall cocoapods -v 1.8.4
    输出
    in addition to the gem? [Yn]
    输入:
    Y
    输出
    Successfully uninstalled cocoapods-1.8.4
    表示已经成功移除cocoapods
    输入:
    sudo gem uninstall cocoapods-core -v 1.8.4
    输出
    Successfully uninstalled cocoapods-core-1.8.4
    表示成功移除 core

  • 再安装cocoapods
    sudo gem install cocoapods -v 1.5.1

  • 升级指定版本
    sudo gem install -n /usr/local/bin cocoapods -v 1.11.3

  • 升级最新版本
    sudo gem install -n /usr/local/bin cocoapods --pre

  • 查看版本
    pod --version

七、升级gem

gem update

  • 有时候会碰到没有读写权限问题,报错如下:
    You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory
    这时候在终端命令执行:sudo gem install fus,然后输入密码就可以正常升级安装

八、报错问题

  • 1、Pod使用报错 CDN: trunk Repo update failed
    查看repo列表:
    pod repo list
    image.png

    移除trunk源:
    pod repo remove trunk
    在 Podfile 加上 https://github.com/CocoaPods/Specs.git
    image.png

其它命令

  • 清除缓存
    rm -fr ~/Library/Caches/CocoaPods
  • 升级
    gem update --system
    gem update
  • 清除
    gem cleanup
  • 用终端命令打开cocoapods文件夹
    open ~/.cocoapods

你可能感兴趣的:(cocoapods安装)