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</usr/local/bin/pod>
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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容