CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了。2016.10.27更新)

字数 4959阅读 5510

原文:http://www.jianshu.com/p/88d7ada1b58b

一、git clone方法安装cocoapods

镜像实在太多坑了,琢磨了一下另一种安装cocoapods的方法。

在终端中,进入该目录。

cd ~/.cocoapods/repos

若没有以上目录,执行下面指令,出现.cocoapods的目录后可以ctrl+c终止安装。sudo gem install cocoapods是常规的安装方法,不过现在只是用来建立一下.cocoapods目录。手动建立.cocoapods目录应该也是可以的,不过没试过。如果能进入~/.cocoapods/repos的目录就忽略下面一条指令。

sudo gem install cocoapods

克隆一个Specs库,在终端必须进入到~/.cocoapods/repos的目录才执行以下命令。

git clone https://github.com/CocoaPods/Specs

完成后,执行open .打开当前目录repos

open .

然后把Specs目录改名为master即可。~/.cocoapods/repos的目录层级如下:

Paste_Image.png

如果gitclone还慢的话,直接上https://github.com/CocoaPods/Specs点击下载。根据上面的目录结构图,放对了就好。

Paste_Image.png

安装中可能遇到的问题

运行pod后显示:"pod: command not found"的错误。赋予/usr/local/bin给予执行与读取权限,执行以下命令。若不行执行sudo chmod 777 /usr/local/bin/。

sudo chmod 700 /usr/local/bin/

安装cocoa pods后,在终端执行pod search第三方框架时出错:[!] Unable to find a pod with name, author, summary, ordescriptionmatching AFNetworking

解决方案:执行rm ~/Library/Caches/CocoaPods/search_index.json

然后再执行pod search第三方框架

pod search afnetworking

看到下面信息说明成功了。

Paste_Image.png

按q退出搜索。

第二种安装方法(不推荐,超级超级慢,建议用上面那种方法安装):

温馨提示:($是不需要输入到终端的)

1.移除现有Ruby默认源

$gem sources --remove https://rubygems.org/

2.添加新镜像(注意淘宝的镜像已经不能用了,https://gems.ruby-china.org 是可以用的。不过这步可能会特别久,但是暂时还没找到减少时间处理的方法。)

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

3.验证新源是否替换成功

$gem sources -l

4.安装CocoaPods

(1) $sudo gem install cocoapods 备注:苹果系统升级 OS X EL Capitan 后改为 $sudo gem install -n /usr/local/bin cocoapods

(2) $pod setup

5.更新gem

$sudo gem update --system

二、使用CocoaPods:

1.新建工程,并在终端用cd指令到文件夹内

$pod search 第三方

2.新建文件 vim “Podfile”,

$vim Podfile

写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)

platform :ios, '7.0'

target '项目target名' do

pod 'AFNetworking', '~> 3.1.0'

end

8.导入第三方库

$pod install

pod install与pod update区别:

1.使用pod install来安装新的库,即使你的工程里面已经有了Podfile,并且已经执行过pod install命令了;所以即使你是添加或移除库,都应该使用pod install。

2.使用pod update [PODNAME] 只有在你需要更新库到更新的版本时候用。

小技巧:

最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动

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

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

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

随笔 © 著作权归作者所有 举报文章

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

赞赏支持

喜欢 34    更多分享

79条评论 只看作者 按时间正序按时间倒序按喜欢排序

WSWshallwe

2楼 · 2016.08.01 17:11

我cd到 ~/.cocoapods 然后用命令查看 文件夹大小,怎么都500多兆了 什么鬼啊 这么大啊 是不是哪里错了 ,楼主可否知道

赞  回复

RasonWu: @eff0b5c3ea55 一开始是三百多兆的,随着你库的安装越来越多,也会变得越来越大。pod install如果它在~/.cocoapods能找到就会自动安装,没找到就重新下载。所以会越来越大。

2016.08.03 09:55  回复

WSWshallwe: @RasonWu 不明觉厉,最后1个多G还没停的节奏,然后我就强制关了终端,试了下还能用,这就算安装成功吗

2016.08.03 10:08  回复

RasonWu: @eff0b5c3ea55 是用git clone https://github.com/CocoaPods/Specs的方法吗?我上了https://github.com/CocoaPods/Specs看了一下,最新的只有80多兆了。

2016.08.03 10:33  回复

添加新评论 还有1条评论, 展开查看

liwendong

3楼 · 2016.08.26 19:45

第一种也慢 咋怎

赞  回复

liwendong

4楼 · 2016.08.26 19:45

Last login: Fri Aug 26 17:39:19 on ttys008

lixianshengdeMacBook-Pro:~ MacBooKPro$ cd ~/.cocoapods/repos

lixianshengdeMacBook-Pro:repos MacBooKPro$ git clone https://github.com/CocoaPods/Specs

Cloning into 'Specs'...

remote: Counting objects: 797324, done.

remote: Compressing objects: 100% (37/37), done.

Receiving objects: 6% (48404/797324), 9.63 MiB | 47.00 KiB/s

赞  回复

liwendong

5楼 · 2016.08.26 19:45

欲哭无泪啊

赞  回复

RasonWu: @liwendong 比较少上,如果还慢的话,直接上https://github.com/CocoaPods/Specs点击下载。有目录结构图,放对了就好。

2016.08.31 12:22  回复

曹奉先: @RasonWu 按照你的方法 不行啊

[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.

You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.

2016.10.04 19:10  回复

Raul_Zuo: 最后怎么解决的?

2016.10.30 17:39  回复

添加新评论

sevenstar

6楼 · 2016.09.01 13:35

大神QQ上回复我一下啊 遇到问题了!

赞  回复

丶我很抱歉

7楼 · 2016.09.21 15:57

错误:[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.

You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.

网上找的改正方法(没用):sudo xcode-select -switch /Applications/Xcode.app

赞  回复

丶我很抱歉

8楼 · 2016.09.21 15:58

我已经要崩溃了,求大神指引

赞  回复

RasonWu: @丶我很抱歉 可以在终端执行pod search afnetworking试试看看是不是正常的。还有/Applications/Xcode.app是不是你正在使用的Xcode。pod search afnetworking不正常的话,尝试重新安装cocoapods 试试看,直接上https://github.com/CocoaPods/Specs点击下载。上面有目录结构图,要放对位置。

2016.09.21 16:40  回复

丶我很抱歉: @RasonWu 搜索是正常的 而且我只有一个xcode 哎 不知所措

2016.09.21 16:46  回复

RasonWu: @丶我很抱歉 那还是重装一下cocoapods试试看吧。

2016.09.21 17:39  回复

添加新评论 还有1条评论, 展开查看

夏夜晚风

9楼 · 2016.09.22 09:50

淘宝镜像真的不能用了吗?

1人赞  回复

loser儿: @夏夜晚风 我刚才试的,确实不能用了,可以用这个淘宝镜像https://ruby.taobao.org/网上多数是http://ruby.taobao.org/。少了个S!

2016.10.26 14:36  回复

RasonWu: @loser儿 是都不能用了。可以直接打开 https://ruby.taobao.org/ 里面有说解决方案。不过镜像安装还是挺慢的。

2016.10.26 15:10  回复

添加新评论

爱恨的潮汐

10楼 · 2016.09.29 18:20

谢谢,很有用 :smile:

1人赞  回复

属于一个人的小叮当

11楼 · 2016.10.05 12:13

大神,在么?我现在存在两个镜像,一个是淘宝的一个是china的,怎么删除淘宝镜像?

执行$gem sources --remove https://rubygems.org/指令后提示

source https://rubygems.org/ not present in cache

赞  回复

属于一个人的小叮当

12楼 · 2016.10.05 12:22

已解决,打扰了 :smile:

赞  回复

天海相接

13楼 · 2016.10.11 09:39

这篇文章写得很棒,谢谢。另外当安装cocoa pods完成时,搜索第三方:pod search afnetworking。可能会出现-bash: pod: command not found的错误。解决方案:命令一: sudo gem install -n /usr/local/bin cocoapods / 命令二: sudo chmod +rx /usr/local/bin 。希望你能把这条编辑入文章。

赞  回复

RasonWu: @天海相接 非常感谢,已经加上。

2016.10.11 22:17  回复

添加新评论

愛啲約

14楼 · 2016.10.16 21:02

按照第一种方法我进坑了 大神求解 pod search afnetworking 运行这个死可以出来框架信息 可是 在安装时 pod install 时显示 [!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.

You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.这是怎么回事呢

赞  回复

RasonWu: @愛啲約 人家说是由于多个xcode,路径变了。可以看看。http://blog.csdn.net/nyh1006/article/details/51355872

2016.10.20 11:22  回复

愛啲約: 问题已经解决了  :relaxed: 学艺不精啊 :sweat: 在终端输入  which ruby_executable_hooks 或 which GEM

把得到的路径复制,打开Xcode-> Product-> cocoaPods - >GEM_PATH  粘贴刚才得到的路径 把最后的/gem 或 /pod去掉

2016.10.20 11:31  回复

Raul_Zuo: 我在terminal输入pod install 也显示同样的问题 改怎么解决呢

2016.10.30 17:46  回复

添加新评论 还有1条评论, 展开查看

cdd49c40a5b7

15楼 · 2016.10.27 12:03

cd ~/.cocoapods/repos

这一步无法执行,显示:-bash: cd: /Users/shangxiaoming/.cocoapods/repos: No such file or directory

是什么原因?

赞  回复

RasonWu: @cdd49c40a5b7 抱歉,我忽略了完全没有安装过的用户是没有~/.cocoapods的目录的。可以查看第二种方法安装。或者执行后面的指令(1) $sudo gem install cocoapods 备注:苹果系统升级 OS X EL Capitan 后改为 $sudo gem install -n /usr/local/bin cocoapods 后,会出现~/.cocoapods目录,继续第一种安装方式。$是不用输入到终端的。

2016.10.27 14:41  回复

cdd49c40a5b7: @RasonWu 谢谢 问题解决了。。。

2016.11.17 11:35  回复

添加新评论

子亦飞鱼

16楼 · 2016.10.31 16:35

Installing SDWebImage (4.0.0-beta2)

[!] Error installing SDWebImage

[!] /usr/bin/git clone https://github.com/rs/SDWebImage.git /var/folders/b_/dctb8_6d301_dv8xnshctv0c0000gn/T/d20161031-8623-lfpkrq --template= --single-branch --depth 1 --branch 4.0.0-beta2

Cloning into '/var/folders/b_/dctb8_6d301_dv8xnshctv0c0000gn/T/d20161031-8623-lfpkrq'...

fatal: unable to access 'https://github.com/rs/SDWebImage.git/': SSLRead() return error -9806

安装的时候出现这种问题不知道怎么解决啊?

赞  回复

FightingLB: @子亦飞鱼 你好 解决了吗 我也遇到这个问题了

2016.12.29 20:11  回复

像个被吓坏的孩子18楼 · 2016.11.09 10:51cd 到项目目录下 pod install macbookprodeMacBook-Pro:popcorntime-ios-master Engineer$ pod installRe-creating CocoaPods due to major version update.Setting up CocoaPods master repo[!] Unable to add a source with url `https://github.com/CocoaPods/Specs` named `master-1`.You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.但是 pod search AFNetworking 可以成功, 我是直接从github上下载的 放到了repos文件夹下面,repos/master/Specs 这个顺序对吗。cocoapods 太难安了 我是xcode8 macOS Sierra 谢谢, 赞  回复RasonWu: @像个被吓坏的孩子 你说的是对的啊。我也有截图出来的。终端里 cd ~/.cocoapods/repos 然后执行open . ~/.cocoapods/repos就是这一个目录了。应该是没问题的才对。~/.cocoapods/repos/master/Specs 是这样一个顺序。2016.11.09 14:51  回复RasonWu: @像个被吓坏的孩子 有人说可能是多个xcode引起的,可以看看。http://www.bubuko.com/infodetail-1038475.html2016.11.09 14:53  回复像个被吓坏的孩子: @RasonWu 不是这个,我只有一个版本的xcode 试了也不行,不管咋的,谢谢你这么及时回复我 :kissing_heart:2016.11.09 16:57  回复 添加新评论 还有5条评论, 展开查看 像个被吓坏的孩子19楼 · 2016.11.09 10:56拜托了 我卡在cocoapods好久了 时刻关注等回复,🎁 赞  回复 Chaos_G20楼 · 2016.11.15 01:53wodeMacBook-Pro:repos chaos_g$ git clone https://github.com/CocoaPods/SpecsCloning into 'Specs'...remote: Counting objects: 905272, done.remote: Compressing objects: 100% (2960/2960), done.error: RPC failed; curl 56 SSLRead() return error -36 955.00 KiB/s fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed这个错误怎么解决 赞  回复RasonWu: @Chaos_G 我没遇到过,看下http://blog.csdn.net/wm9028/article/details/51840759的处理方法2016.11.15 09:49  回复墙上砖: @Chaos_G下载太慢,报错了,用githubclone的那个方法2016.11.23 17:12  回复 添加新评论 cece041721楼 · 2016.11.16 21:18请问按照第一种办法提示Setting up CocoaPods master repofatal: Not a git repository (or any of the parent directories): .git[!] The `master` repo is not a git repo.是为什么呢? 赞  回复 茄子_Apple22楼 · 2016.11.29 19:37[!] The `master` repo requires CocoaPods 1.0.0 - (currently using 0.39.0)Update CocoaPods, or checkout the appropriate tag in the repo.表示安装第一种方法操作了,没有更新成功?运行pod search AFNetworking,还是提示我需要更新,请问怎么破? 赞  回复 龙龙_龙23楼 · 2016.11.29 23:23楼主,小弟我出现这个错误很久了。就是即使我把ruby删掉重新下载。我的sources 源显示什么都没有,就连gem.Ruby.org都没有。然后我有事了你第一种方法。虽然clone成功了.但是当我在sudo gem install cocoapods 的时候一直都是报ERROR: Could not find a valid gem 'cocoapods' (>= 0) in any repository 这个错误,我找了好久也一直没搞清出什么原因。还有我的gem源为什么一直都没有。求楼主帮帮忙啊 赞  回复茄子_Apple: @龙龙_龙 推荐你看这个链接:http://www.jianshu.com/p/dfe970588f95,我这边是通过这个解决的2016.11.30 10:09  回复RasonWu: @龙龙_龙 可以试下sudo gem update --system 。应该是gem比较旧或者重新安装的版本有问题引起的2016.12.01 18:01  回复 添加新评论 nolews24楼 · 2016.12.02 10:44谢谢了 很简单的方式 但我也下了一晚上而已。。。。 赞  回复 paperclouds25楼 · 2016.12.10 09:57:+1: 太棒了! 赞  回复 管饱饱26楼 · 2016.12.16 09:12牛逼,装了两天删除了一次,还是你的第一种方法好用 赞  回复 随风流年27楼 · 2016.12.19 10:09pindexinxideMac-mini:repos pindexinxi$ git clone https://github.com/CocoaPods/SpecsCloning into 'Specs'...remote: Counting objects: 970184, done.remote: Compressing objects: 100% (318/318), done.error: RPC failed; curl 56 SSLRead() return error -98064 bytes/s fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed 赞  回复随风流年: 一直是这个不行,大神求解2016.12.19 10:10  回复 添加新评论 _墙角回忆丅一站28楼 · 2016.12.21 17:59[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`. 1人赞  回复_墙角回忆丅一站: @_墙角回忆丅一站 pod install 就报这个错2016.12.22 09:39  回复 添加新评论 搬砖公29楼 · 2016.12.26 00:12大神,pod install 和 pod update 出现### Error```RuntimeError - [Xcodeproj] Unknown object version./Library/Ruby/Gems/2.0.0/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:217:in `initialize_from_file'/Library/Ruby/Gems/2.0.0/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:102:in `open'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:695:in `block (2 levels) in inspect_targets_to_integrate'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:694:in `each'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:694:in `block in inspect_targets_to_integrate'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:63:in `section'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:689:in `inspect_targets_to_integrate'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:66:in `analyze'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer.rb:227:in `analyze'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer.rb:151:in `block in resolve_dependencies'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:63:in `section'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer.rb:150:in `resolve_dependencies'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer.rb:114:in `install!'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/command/update.rb:60:in `run'/Library/Ruby/Gems/2.0.0/gems/claide-1.0.0/lib/claide/command.rb:334:in `run'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/command.rb:50:in `run'/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/bin/pod:55:in `'/usr/local/bin/pod:22:in `load'/usr/local/bin/pod:22:in `'

是什么原因

赞  回复

RasonWu: @搬砖公 http://www.cnblogs.com/ht-927/p/4483352.html 看下这个行不行。一样的问题。

2016.12.26 09:44  回复

RasonWu: @搬砖公 上面的方法,其实就是重新安装了。

2016.12.26 09:45  回复

搬砖公: @RasonWu 我试过这个了,不行呀,请问到底是什么原因呀

2016.12.26 09:45  回复

添加新评论 还有5条评论, 展开查看

Albin_iOS

30楼 · 2016.12.26 09:43

第一种方法 pod install 报错

[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.

You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.

怎么解决的啊?

赞  回复

RasonWu: @Albin_iOS 删除master(位置: /Users/用户名/.cocoapods/repos/master) 然后重新安装

2016.12.26 09:48  回复

Albin_iOS: @RasonWu 是重装cocoapod吗?是不是要里面的那个.git?

2016.12.26 09:50  回复

RasonWu: @Albin_iOS 不是项目里的,是重装cocoapod

2016.12.26 09:59  回复

添加新评论

之安z

31楼 · 2017.01.04 09:29

gitclone很慢,网络环境不好总是断,直接下载了master会提示Not a git repository (or any of the parent directories): .git,没有个git信息它没法运行。。。求支招

赞  回复

RasonWu: @之安z 这个是git问题吧,和cocoapod 没啥关系。如果你的库还没有git信息的话,看下http://www.cnblogs.com/super-d2/p/3341864.html

2017.01.04 11:30  回复

RasonWu: @之安z @之安z 这个是git问题吧,和cocoapod 没啥关系。如果你的项目还没有git信息的话,看下http://www.cnblogs.com/super-d2/p/3341864.html

2017.01.04 11:30  回复

之安z: @RasonWu 恩,谢谢楼主的回复。我发现并不是git的问题,直接下载master放在本地时,pod install的时候它的脚本还是会尝试更新Specs,但是下载的master没有gitclone的信息所以就报错了。用pod install --verbose --no-repo-update就忽略更新,就可以运行成功了,只是网络环境真的不允许,就算用了国内的源也还是太慢,已经放弃。。。

2017.01.17 14:40  回复

推荐阅读更多精彩内容