cocoapods pod 找不到执行pod install , pod update都出现下面的错误

iOS CocoaPods pod install/pod update更新慢的有关问题 - 操作系统当前位置:& &&&iOS CocoaPods pod install/pod update更新慢的有关iOS CocoaPods pod install/pod update更新慢的有关问题&&网友分享于:&&浏览:0次iOS CocoaPods pod install/pod update更新慢的问题最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有posts - 7,&
comments - 3,&
trackbacks - 0
最近重新安装了一次cocoapods,参考的安装流程:http://blog.csdn.net/showhilllee/article/details//
但是现在的cocoapods与之前比较。有很多不一样的地方。挣扎了2天,终于搞定。现在纪录一下。
1.首先查看ruby是否是最新版的。ruby是通过rvm安装的所以需要先安装rvm后查看ruby是否是最新的(通过查看ruby版本列表来判断),在终端需要中输入以下命令:
& (1)安装RVM.RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)
& & & curl&-L&get.rvm.io&|&bash&-s&stable
& & & 等待一段时间后就可以成功安装好 RVM
& & & source&~/.bashrc &
& & & source&~/.bash_profile&
& & & 测试是否安装正常
& & & rvm&-v
&(2)用RVM升级Ruby
$&ruby&-v&&
ruby&2.0.0 &
$&rvm&list&known&&
$&rvm&install&2.6.4
2.更换Ruby镜像--淘宝的那个镜像(https://ruby.taobao.org/&)已经不可用了。官方的需要FQ。所以我们现在用最新支持的ruby镜像(https://gems.ruby-china.org/)
& 需要的命令行:
&&gem sources --remove https://rubygems.org/&& gem sources -a https://gems.ruby-china.org/&& gem sources -l &(用来检查使用替换镜像位置成功)
& 出现则说明成功了。
3.下载安装CocoaPods
& 在命令行中输入:
& 安装:sudo gem install cocoapods&
& 更新:sudo gem update cocoapods&
& 在这里会很快就好了。。。网上教程说这样就已经完成安装了。。但我试了一下,直接搜索一下。在终端中输入:pod search &AFNetworking。会出现&Setting up CocoaPods master repo&提示,而且很久一直不动,网上说因为没FQ的原因。但是我们已经将bury镜像已经改了,为什么还会这样呢?。还有一个原因是因为在后台下载,还没下载完成,所以会这样。
& 在这里我等了好久。通过新开一个终端窗口,输入"cd ~/.cocoapods/"命令行跳到cocoapods文件夹内,执行"du -sh *"查看文件夹的大小。发现一直是0。快崩溃了。下班回去休息。
第二天。我重头再来。首先将ruby更新到最新(上边方法)、将gem更新到最新、将cocoapods更新到最新。在将cocoapods更新到最新时,查到需要执行"pod setup",但是执行这个时会出现一直是&Setting up CocoaPods master repo&,但是查看大小还是0。此外还会出现下面这个新的错误(这个发现让我欣喜若狂,起码不是那么单调了,或许会成为突破口):
[!] An error occurred while performing `git pull` on repo `master`.
[!] /usr/bin/git pull --ff-only
这个错误应该是说这个节点有问题。就又找资料,然后试试把cocoapods的节点删除,重新添加一个节点,或许就行,说干就干:
原因: Cocoapods的分支不支持当前最新的Xcode版本
解决办法: 删除master分支 重新建立新的分支
sudo rm -fr ~/.cocoapods/repos/master
然后再:&pod setup
------------------------------分割线-----------------------------------------------------
在pod setup的过程中又是这个提示"Setting up CocoaPods master repo",当时的感觉就快要砸电脑了,最后不死心去查看了一下cocoapods文件夹的大小。结果:
。。没错,没有看错,大小居然一直在增加。心怀激动的慢慢等待。
过了大概十几二十分钟左右,pod setup这个操作成功了。
这样,整个cocoapods安装应该成功了吧。我迫不及待的 想要试试。输入"pod search&AFNetworking" 居然有内容出来。然后按照之前的教程在终端中,cd到项目总目录
cd /Users/md098/Desktop/PodTest
建立Podfile(配置文件)
&接着上一步,终端输入&vim Podfile
键盘输入 i,进入编辑模式,输入
platform :ios, '7.0'&pod 'MBProgressHUD', '~& 0.8'
然后按Esc,并且输入& :&号进入vim命令模式,然后在冒号后边输入wq
注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件
激动人心的时刻到了:确定终端cd到项目总目录,然后输入&pod install。。。然后你会发现。。。
提示这个错误:[!] The dependency `MBProgressHUD` is not used in any concrete target.
原来新的cocoapods不能像之前那样安装第三方了。现在的格式是要加上项目的target。如下:
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do&
& & pod&'AFNetworking', '~& 2.6'
& & pod 'ORStackView', '~& 3.0'
& & pod 'SwiftyJSON', '~& 2.3'
里面的&MyApp&记得替换为自己攻城里面的target。这样就基本OK了,执行pod install / pod update 就都可以了。
end:终于结束了。总结:安装过程出错,则删除并重新(更新)所有的需要的环境:(ruby、gem、cocoapods、其中包括cocoapods的节点),替换新的ruby镜像即可。
阅读(...) 评论()Code4App 原创文章。转载请注明出处:
CocoaPods是什么?
当你开发应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要
CocoaPods。
CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。
如何下载和安装CocoaPods?
现在的mac系统已经默认安装好Ruby环境,那么下载和安装CocoaPods将十分简单,只需要一行命令。在Terminator(也就是终端)中输入以下命令:
sudo gem install cocoapods
但是,在终端中敲入这个命令之后,会发现半天没有任何反应。原因是那堵墙阻挡了cocoapods.org。
解决办法是,我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:
$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a http://ruby.taobao.org/
为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:
$ gem sources -l
只有在终端中出现下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
这时候,你再次在终端中运行:
$ sudo gem install cocoapods
等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。
为了确定CocoaPods是否可以使用,可以用CocoaPods的搜索功能验证一下。在终端中输入:
$ pod search AFNetworking
过一段时间之后(可能会比较久),你会在终端中看到一些红色的错误信息,如下:
Setting up CocoaPods master repo[!] /usr/bin/ clone '/CocoaPods/Specs.git' master --depth=1Cloning into 'master'...error: RPC result=52, HTTP code = 0fatal: The remote end hung up unexpectedly
这说明CocoaPods还不能正常使用,需要更新pod,下载它的一些依赖包;在终端中输入:
$ pod setup
过一段时间之后,你会在终端中看到跟上面同样的红色的错误信息。
敲入以上命令时,小编终端上是这个样子的(由于太长,仅截取前面一部分):
这说明某些环境原因导致pod更新不了,可能原因有,1)gem版本太低;2)github无法链接;3).cocoapods目录下的配置信息错误。我们可以一个一个来排除,
首先更新gem到最新版本,在终端中输入:
$ sudo gem update --system&
然后检查是否可以ping通github,在终端中输入:
然后查看pob repo list:
$ pod repo list
结果显示0 repos,说明没有安装成功;
删除.cocoapods目录,重新下载pod更新:
$ cd ~/.cocoapods/
$ sudo -rm -rf ~/.cocoapods/
重新执行pod setup,过一段时间后提示setup completed,在终端中输入 pod list,展示出安装列表;
敲入以上命令时,小编终端上是这个样子的(由于太长,仅截取前面一部分):
看到这里,你心里会不会说,我靠!太爽了,终于下载并且安装好了!接下来看下如何使用吧。。
如何使用CocoaPods?
好了,安装好CocoPods之后,接下来就是使用它。所幸,使用CocoPods和安装它一样简单,也是通过一两行命令就可以搞定。
这里用两种使用场景来具体说明如何使用CocoaPods。
场景1:利用CocoaPods,在项目中导入AFNetworking类库
AFNetworking类库在GitHub地址是:
为了确定AFNetworking是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:
$ pod search AFNetworking
过几秒钟之后,你会在终端中看到关于AFNetworking类库的一些信息。比如:
这说明,AFNetworking是支持CocoaPods,所以我们可以利用CocoaPods将AFNetworking导入你的项目中。
首先,我们需要在我们的项目中加入CocoaPods的支持。接下来在终端中通过命令进入一个xcode项目目录下,在这个目录下创建一个Podfile文件,然后在里面添加你需要下载的类库,也就是告诉CocoaPods,“某某和某某和某某某,快到碗里来!”。每个项目只需要一个Podfile文件。
我们先创建这个神奇的PodFile。在终端中进入(cd命令)你项目所在目录,然后在当前目录下,利用vim创建Podfile,运行:
$ vim Podfile
然后在Podfile文件中输入以下文字:
platform :ios, '7.0'
pod &AFNetworking&, &~& 2.0&
注意,这段文字不是小编凭空生成的,可以在AFNetworking的github页面找到。这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.0。打开AFNetworking类库在GitHub地址:,在首页中你会找到以下信息,红框中的内容就是Podfile中的内容:
然后保存退出。vim环境下,保存退出命令是:
这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。
这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:
$ pod install
可能会出现几种错误信息,如下图:
第一种错误:
这个错误是因为你的Podfile文件没有创建到项目目录下,检测你的项目路径是否正确;
第二种错误:
访问github出错,需要配置dns服务器,有时候github打不开,就必须用8.8.8.8这个公网的dns服务器,其他的dns服务器,不知道为何解析github就不太行;配置方式如下:
因为是在你的项目中导入AFNetworking,这就是为什么这个命令需要你进入你的项目所在目录中运行。
运行上述命令之后,小编的终端出现以下信息:
EricmatoMacBook-Pro:CocoaPodsDemo ericwang$ pod install
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.0.2)
Generating Pods project
Integrating client project
[!] From now on use `CocoaPodsDemo.xcworkspace`.
注意最后一句话,意思是:以后打开项目就用 CocoaPodsDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。否则无法关联pod下来的类库。
你也许会郁闷,为什么会出现.xcodeproj文件呢。这正是你刚刚运行$ pod install命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。 点击 CocoaPodsDemo.xcworkspace 打开之后工程之后,你会惊喜地发现,AFNetwoking已经成功导入项目了!
现在,你就可以开始使用AFNetworking.h啦。可以稍微测试一下,在你的项目任意代码文件中输入:
#import &AFNetworking.h&
#import &AFNetworking.h&
然后编译,看看是否出错。如果你严格按照小编上述的步骤来,是不可能出错的啦。
至此,CocoPods的第一个应用场景讲述完毕。其实过程是十分简单的。总结一下就是:
先在项目中创建Podfile,Podfile的内容是你想导入的类库。一般类库的原作者会告诉你导入该类库应该如何写Podfile;运行命令:`$ pod install.
下面,继续讲述第二种使用场景。
场景2:如何正确编译运行一个包含CocoPods类库的项目
你也许曾经遇到过(特别是新手iOS开发者)这种情况,好不容易在GitHub上找到一份代码符合自己想需求,兴冲冲下载下来,一编译,傻眼了,发现有各种各样错误。一看,原来是缺失了各种其他第三方类库。这时候莫慌,你再仔细一看,会发现你下载的代码包含了Podfile。没错,这意味着你可以用CocoaPods很方便下载所需要的类库。
下面,以代码&&为例来说明如何正确编译运行一个包含CocoPods类库的项目。
UAAppReviewManager是一个能够让你方便地将提醒用户评分的功能加入你的应用中。当你去UAAppReviewManager的GitHub地址下载这份代码之后,打开Example工程(UAAppReviewManagerExample),编译,你会发现Xcode报告一大堆错误,基本都是说你编译的这份代码找不到某某头文件,这就意味着你要成功编译UAAppReviewManager的Example代码,必须先导入一些第三方类库。同时你会发现在UAAppReviewManagerExample文件夹下面有三个跟CocosPods相关的文件(文件夹):Podfile,Podfile.lock和Pods,如下图:
这时候,打开终端,进入UAAppReviewManagerExample所在的目录,也就是和Podfile在同一目录下,和场景1一样,输入以下命令(由于已经有Podfile,所以不需要再创建Podfile):
$ pod update
过几秒(也许需要十几秒,取决于你的网络状况)之后,终端出现:
Analyzing dependencies
Fetching podspec for `UAAppReviewManager` from `../`
Downloading dependencies
Installing UAAppReviewManager (0.1.6)
Generating Pods project
Integrating client project
[!] From now on use `UAAppReviewManagerExample.xcworkspace`.
这时候,再回到UAAppReviewManagerExample文件夹看一看,会看到多了一个文件UAAppReviewManagerExample.xcworkspace:
根据终端的信息提示,你以后就需用新产生的UAAppReviewManagerExample.xcworkspace来运行这个Example代码了。
打开UAAppReviewManagerExample.xcworkspace,编译运行,成功!如下图:
注意,这里有个小问题,如果刚刚你不是输入$ pod update,而是输入$ pod install,会发现类库导入不成功,并且终端出现下面提示:
[!] Required version (UAAppReviewManager (from `../`)) not found for `UAAppReviewManager`.
Available versions: 0.1.6
这里的意思大概是Podfile文件过期,类库有升级,但是Podfile没有更改。$ pod install只会按照Podfile的要求来请求类库,如果类库版本号有变化,那么将获取失败。但是&$ pod update会更新所有的类库,获取最新版本的类库。而且你会发现,如果用了&$ pod update,再用&$ pod install&就成功了。
那你也许会问,什么时候用&$ pod install,什么时候用&$ pod update&呢,我又不知道类库有没有新版本。好吧,那你每次直接用&$ pod update&算了。或者先用&$ pod install,如果不行,再用&$ pod update。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:347次
排名:千里之外主题 : cocoapods 执行update或者install 一直不成功
级别: 圣骑士
UID: 80859
可可豆: 2700 CB
威望: 2693 点
在线时间: 306(时)
发自: Web Page
来源于&&分类
cocoapods 执行update或者install 一直不成功&&&
[!] Error installing RegexKitLite[!] /usr/bin/svn export --non-interactive --trust-server-cert --force &https://svn.code.sf.net/p/regexkit/code/RegexKitLite& -r &69& /Users/gongshuying/Desktop/Torque_Lite_IOS/Pods/RegexKitLitesvn: E175002: Unable to connect to a repository at URL 'https://svn.code.sf.net/p/regexkit/code/RegexKitLite'svn: E175002: OPTIONS of 'https://svn.code.sf.net/p/regexkit/code/RegexKitLite': could not connect to server ()操作:拉取最新代码,然后把Pods文件夹 和Pod的lock文件删掉 然后再Podfile的所在文件夹 执行 update 或者install  就出现了上面的问题该svn配置文件 重新设置host 等 还是不行使用search命令,有可以找到$ Pod search RegexKitLite-& RegexKitLite (4.0)   Lightweight Objective-C Regular Expressions using the ICU Library.   pod 'RegexKitLite', '~& 4.0'   - Homepage:    - Source:      - Versions: 4.0 [master repo]-& RegexKitLite-NoWarning (1.1.0)   It is cloned from official subversion (RegexKitLite-4.0). This fork fix some wwarning raised.   pod 'RegexKitLite-NoWarning', '~& 1.1.0'   - Homepage:    - Source:      - Versions: 1.1.0, 1.0.0 [master repo][ 此帖被sygong在 11:07重新编辑 ]
级别: 新手上路
可可豆: 16 CB
威望: 6 点
在线时间: 29(时)
发自: Web Page
我也是遇到同样的问题,挂了VPN还是连不上
级别: 新手上路
可可豆: 16 CB
威望: 6 点
在线时间: 29(时)
发自: Web Page
进他的这个主页【】就看到 The sourceforge.net website is temporarily in static offline mode.Only a very limited set of project pages are available until the main website returns to service. 他们的服务器崩了的缘故吧?估计明天试试就好了
级别: 新手上路
UID: 19680
可可豆: 31 CB
威望: 19 点
在线时间: 6(时)
发自: Web Page
还是不行&& 不知道啥时候能好
级别: 侠客
UID: 275321
可可豆: 426 CB
威望: 250 点
在线时间: 641(时)
发自: Web Page
回 1楼() 的帖子
用这玩意还用VPN?我从来没用过VPN啊。
级别: 新手上路
可可豆: 16 CB
威望: 6 点
在线时间: 29(时)
发自: Web Page
回 4楼(soleapp) 的帖子
有几次网络不好,pod 有问题我挂了个vpn就好了,主要还是和个人网络环境有关
UID: 123750
发帖: 1500
可可豆: 2774 CB
威望: 2726 点
在线时间: 946(时)
发自: Web Page
何必非要纠结cocoapods这东西?这只是一个工具,并且这个工具的稳定性还异常需要商榷。用过一次就再也不想用了,MACPRO 上和MINI上执行相同的命令,一台正常一台无限制报错,我还是手动下载然后拖入工程来的简单
级别: 新手上路
可可豆: 7 CB
威望: 7 点
在线时间: 3(时)
发自: Web Page
同样的问题,绝望了
级别: 圣骑士
UID: 80859
可可豆: 2700 CB
威望: 2693 点
在线时间: 306(时)
发自: Web Page
回 楼主(sygong) 的帖子
有时候 在使用第三方依赖库的时候,会因为第三方的服务宕了,而影响使用 如果版本可以不自动更新,可以放一份源码 在自己的git库&&pod自己的git库的这个地址就行了
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版

我要回帖

更多关于 如何执行pod install 的文章

 

随机推荐