cocoapos的安装和使用

查看本地安装过的cocopods相关东西

gem list --local | grep cocoapods

下面命令可以一键删除 cocoapods及其所有组件

sudo rm -rf /usr/local/bin/pod ; gem list | grep cocoapods | awk '{print $1}' | while read line; do sudo gem uninstall $line; done


首先安装 RVM

打开终端

curl -L https://get.rvm.io | bash -s stable --auto-dotfiles

期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。

然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)

source ~/.rvm/scripts/rvm

检查一下是否安装正确

rvm -v

如果出现跟下面类似的字符,则表明安装正确

rvm 1.27.0 (latest) by Wayne E. Seguin , Michal Papis [https://rvm.io/]

用 RVM 安装 Ruby 环境

列出已知的ruby版本

rvm list known

会出现以下字符

# MRI Rubies

[ruby-]1.8.6[-p420]

[ruby-]1.8.7[-head] # security released on head

[ruby-]1.9.1[-p431]

[ruby-]1.9.2[-p330]

[ruby-]1.9.3[-p551]

[ruby-]2.0.0[-p648]

[ruby-]2.1[.8]

[ruby-]2.2[.4]

[ruby-]2.3[.0]

[ruby-]2.2-head

ruby-head

可以选择现有的rvm版本来进行安装(假设以rvm 2.0.0版本的安装为例)

 rvm install 2.0.0(可能需要管理员权限,使用sudo.$sudorvm install 2.0.0)

附加一些rvm操作方法

查询已经安装的ruby

rvm list

卸载一个已安装版本

rvm remove 2.0.0

RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本

rvm 2.0.0 --default

同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本

这个时候你可以测试是否正确

$ ruby -v

会出现ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]类似字符

$ gem -v

2.6.3

更新gem

sudo gem update --system


这时候注意Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成淘宝的,替换方式如下:

$gem source -r https://rubygems.org/

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

报错:

Error fetching https://gems.ruby-china.org/:

bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)

原因是 ruby-china 更换了域名

https://gems.ruby-china.com

命令替换为 gem sources --add https://gems.ruby-china.com 解决

要想验证是否替换成功了,可以执行:

 gem sources -l

正常的输出结果:

*** CURRENT SOURCES ***

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

到这里就已经把Ruby环境成功的安装到了Mac OS X上

接下来就是CocoaPods的安装

这时候,你再次在终端中运行:

sudo gem install cocoapods

等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。

当然我们也可以更新我们的CocoaPods,同样也是使用ruby的gem命令:

sudo gem update cocoapods

sudo gem install -n /usr/local/bin cocoapods

然而你也可以更新CocoaPods的预览版,执行下面的命令:

sudo gem update cocoapods--pre

然后执行 pod setup

git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk

其实就是执行sudo gem install cocoapods命令这么简单,但这一步是最容易出现坑的。

pod repo list 查看源列表

pod repo remove trunk 移除trunk源


CocoaPods 镜像使用帮助

CocoaPods 是一个 Cocoa 和 Cocoa Touch 框架的依赖管理器,具体原理和 Homebrew 有点类似,都是从 GitHub 下载索引,然后根据索引下载依赖的源代码。

对于旧版的 CocoaPods 可以使用如下方法使用 tuna 的镜像:

pod repo remove master

pod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git

pod repo update

新版的 CocoaPods 不允许用pod repo add直接添加master库了,但是依然可以:

cd ~/.cocoapods/repos

pod repo remove master

git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master

最后进入自己的工程,在自己工程的podFile第一行加上:

source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'


=========可能出现的状况(坑)=========

问题一:While executing gem ... (Errno::EPERM)  Operation not permitted - /usr/bin/fuzzy_match    错误

解决方案 :

执行sudo gem install -n /usr/local/bin cocoapods  语句。然后提示gems installed即可。

问题二、Setting up CocoaPods master repo 卡着不动

出现Setting up CocoaPods master repo,说明Cocoapods正在将它的信息下载到 ~/.cocoapods里;(这一步是很费时间的,等输出Setup completed 安装完成啦)

在此过程中可以右击终端选 --->新建窗口;在新建的终端窗口输入:

cd ~/.cocoapods

进入cocoa pods文件,然后在终端输入:

du -sh *

即可查看下载的文件大小。也就可以知道是网速不好,还是源不可用了。

接下来我们要在项目里添加CocoaPods管理器

通过cd + 路径进入我们的项目

例如$ cd /Users/Chen/Desktop/CocoaPodsTest如果你不知道自己的路径,可以将文件夹拖入Termal。会自动帮你完成路径

进入以下路径

这时候需要创建一个文件来控制CocoaPods该下载什么。这个文件就叫做“Podfile”(注意:文件名固定,而且没有后缀)。你创建一个Podfile文件,然后在里面添加你需要下载的类库。每个项目只需要一个Podfile文件。

利用vim创建Podfile,运行:

$ vim Podfile

点击i进入编辑模式

然后在Podfile文件中输入以下文字:

platform :ios,'7.0'

pod'MJRefresh','~> 3.1.0'

这句话意思是支持的iOS最高版本是iOS7.0, 要下载的MJRefresh版本是3.1.0

然后保存退出。vim环境下,保存退出命令是:

按下ESC  然后输入:wq再回车

使用CocoaPods查找第三方库

如果我们不知道cocoaPods管理的库中,是否有你想要的库,那么你可以通过$ pod search xxx命令进行查找,

例如:

$ pod search MJRefresh

会出现

-> MJRefresh (3.1.0)

An easy way to use pull-to-refresh

pod 'MJRefresh', '~> 3.1.0'                              //你只需要将这句话加上就好了

- Homepage: https://github.com/CoderMJLee/MJRefresh

- Source:   https://github.com/CoderMJLee/MJRefresh.Git

- Versions: 3.1.0, 3.0.8, 3.0.7, 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1,

3.0.0, 2.5.0, 2.4.12, 2.4.11, 2.4.10, 2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5,

2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.2, 2.3.1, 2.3.0, 2.2.1, 2.2.0, 2.1.0,

2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.4.7, 1.4.6, 1.4.5, 1.4.4, 1.4.3, 1.4.1,

1.4.0, 1.3.8, 1.3.7, 1.3.6, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.0,

1.1.0, 1.0.5, 1.0.4, 1.0.3, 0.0.1 [master repo]

这时候输入

$ pod install

会出现以下效果。时间会有点慢。

这时候打开项目文件夹

我们可以看见项目多了很多东西。

以后打开项目通过选中的这个,而不用原来文件。

我们还需要更改一个属性:将Other Linker Flags 值设为 $(inherited)

当我们以后使用coacoaPods时我们只需要更改项目里的Podfile文件

当我们每次修改了Podfile这个文件后,一定要记得执行命令:$ pod install,还可以执行$ pod update来更新类库

在使用pod install/pod update更ai新很慢,原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update

pod update --verbose --no-repo-update

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念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

推荐阅读更多精彩内容