原文链接 :
http://blog.csdn.net/sinat_30162391/article/details/53048041
前言: 最近安装CocoaPods
出现了很多以前没有出现的问题这令我很头疼
- 一个记忆很深的问题
- 我的安装环境介绍
- 介绍一些CocoaPods相关的
一: 一个我记得很清楚的问题
使用淘宝源执行pod setup
之后 安装了大约862M
左右的资源.
但是CocoaPods
可能由于我的操作问题, 被卸载了. (疑惑脸)
再次安装出现的问题
删除淘宝源
gem source -r https://ruby.taobao.org/ to remove
修改成rubygems 也就是说我使用这个源进行安装CocoaPods
的
gem source -a http://rubygems.org/
再次安装
sudo gem install cocoapods
之后就完成了, 但是很少有小伙伴遇到跟我一样的问题, 所以我接下来贴出我的环境, 跟我环境一致之后应该就能安装成功了
二: 我的安装环境介绍
ruby的管理器版本
rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
ruby的版本 >=2.2.2
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin16]
gem 的版本
2.4.5.1
校验是否安装成功, 切换到目录查看文件的大小
cd ~/.cocoapods/
du -sh * //
我这次安装的版本
总之这次的安装, 是我安装的最费时的一次, 中间遇到的问题, 并没有做记录, 不过基本都是在Stack Overflow找到的解决办法. 贴出我的环境希望助你查找问题.
三: 在介绍一些CocoaPods相关的
一、什么是CocoaPods
CocoaPods
是iOS项目的依赖管理工具,该项目源码在Github
上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods
的出现使得我们可以节省配置开源库的时间。
在使用CocoaPods
后,我们只需要把用到的开源库放到一个名为Podfile
的文件中,然后执行pod install
或者pod update --no-repo-update.Cocoapods
就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。
二、CocoaPods
的原理
CocoaPods
的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods
项目,这样,源码管理工作都从主项目移到了Pods
项目中。Pods项目最终会编译成一个名为libPods.a
的文件,主项目只需要依赖这个.a文件即可。
三、CocoaPods的安装
CocoaPods
可以方便地通过Mac自带的RubyGems
安装。
打开终端,然后键入以下命令:
$ sudo gem install cocoapods
执行完这句如果报告以下错误:
ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Operation timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)
ERROR: Possible alternatives: cocoa pods
这是因为ruby的软件源rubygems.org因为使用亚马逊的云服务, 不可用,需要更新一下ruby的源,过程如下:
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
// 查看是否成功
$ gem sources -l
如果gem太老,可以尝试用如下命令升级gem
$ sudo gem update --system
升级成功后会提示: RubyGems system software updated
然后重新执行安装下载命令
$ sudo gem install cocoapods
接下来进行安装,执行:
// 关键 , 需要下载一些资源, 很慢, 文件很大 大约862M
$ pod setup
四、Cocoapods的使用
// 切换到工程目录
cd 目录
// 编辑Podfile
vim Podfile
填写Podfile文件
// 可以这样写, 这是Swift的
platform :ios, '8.0'
use_frameworks!
target '工程名' do
pod 'SwiftyJSON', '~> 2.3.1'
end
保存退出, 执行
pod install
// or
pod update --no-repo-update
使用注意:
1.从此以后需要使用Cocoapods
生成的 .xcworkspace
文件来打开工程,而不是使用以前的.xcodeproj
文件
2.每次更改了Podfile
文件,都需要重新执行一次pod update
命令
补充 :
当执行pod install
之后,除了Podfile
,还会生成一个名为Podfile.lock
的文件,它会锁定当前各依赖库的版本,之后即使多次执行pod install也不会更改版本,只有执行pod update
才会改变Podfile.lock
.在多人协作的时候,这样可以防止第三方库升级时候造成大家各自的第三方库版本不一致。所以在提交版本的时候不能把它落下,也不要添加到.gitignore
中.
可能遇到的问题
如果在执行sudo gem install cocoapods的时候报以下错误:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
并且你的操作系统是EI Caption,可是尝试使用以下方法来代替上面的安装命令:
$ sudo gem install -n /usr/local/bin cocoapods'
在执行sudo gem install cocoa pods指令安装的时候提示错误:
ERROR: Error installing cocoapods:
activesupport requires Ruby version >= 2.2.2.
解决方法: 升级ruby版本
http://blog.csdn.net/lissdy/article/details/9191351
就说就这么多吧, 最后感谢您的阅读
夏天然后 | 联系 |
---|---|
QQ群 | 498143780 |
微博 | 来和我玩微博 |
简书 | 来简书找我玩 |
GitHub | 来GitHub找我玩 |
伯乐在线 | 来伯乐在线找我玩 |
我的博客你想看看? | http://summerxx.com |
说了这么多 | 就是想多交朋友多学习 |