从刚开始用CocoaPods开始,在安装阶段就遇到过很多问题,在不同的设备和不同的系统下安装可能产生一些不一样的问题。本文主要是将步骤顺理了一下,把一些容易出问题的步骤也顺便写上了,因为这个CocoaPods基本上安装一次就不用管了,所以也没有深入研究,如果你还遇到其他的问题了,可以在网上搜一下。
本文仅供参考,第一步可以省略,直接第二步开始就行。出现问题了再照着第一步来也行。我参考的一些文章也会附在文章末尾,感谢各位作者,谢谢。
第一步:升级MacOS自带的Ruby
一般新系统不需要升级,但是鉴于有可能出现莫名其妙的问题,还是升级一下(什么?不知道Ruby是啥?算了,不用知道,下面可能还有你不知道的,那你还是照着步骤来吧)。
1. 安装RVM,用来升级Ruby
RVM: Ruby Version Manager.中文为Ruby版本管理器,包括Ruby的版本管理和Gem库管理
curl -L get.rvm.io | bash -s stable
可能出现的问题:提示Git需要命令行开发者工具,这好像是我当年第一次安装的时候遇到的,原因是电脑是新Mac并且没有安装Xcode,解决办法就是安装好Xcode并打开安装SDK。
2.验证RVM是否安装成功
关闭当前命令窗口,打开一个新的窗口(加载安装好的文件),查看版本,如果有版本号,就是安装好了
rvm -v
3.安装Homebrew
一个MacOS的套件,安装过程中需要输入一次回车键和验证系统登录用户密码。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
4.查看当前ruby版本,获取rvm列表
会显示当前已经安装的版本号,MacOS默认已经安装了一个
ruby -v
获取rvm列表,列表里会显示最新版Ruby版本
rvm list known
5.安装最新版Ruby
根据rvm列表里# MRI Rubies一栏里显示的的Ruby版本号,比如要安装最新的2.4版本,命令如下:
rvm install 2.4
安装过程中会自动查找和下载依赖包,根据不同的网速,可能需要的时间较长。如果下载失败了,可以多试几次或者开VPN试试。
附1: 卸载Ruby的方法
Ruby可以同时安装和存在多个不同的版本,如果你有多个版本,或者安装了错误版本,要删除一个,命令如下:
获取版本列表
rvm list
卸载其中一个版本,注意不要写错版本号
rvm remove 2.4
附2: 可能出现的问题
Error running '__rvm_make -j 1',showing last 15 lines of /Users/GDarkness/.rvm/log/1474100434_ruby-2.2.4/make.log
安装xcode command line 即可解决
xcode-select --install
第二步:升级RubyGems版本和更改gem源
1.升级RubyGems版本
这里请翻墙一下(github搜索蓝灯),会让你输入登录用户密码。如果已经是最新版了,就会提示已经最新,并自动忽略更新
sudo gem update --system
查看一下gem版本,要2.6以上才可以
gem -v
2.更改gem源
淘宝的gem源已经不维护了,现在是官方论坛在维护,地址https://gems.ruby-china.org/
先看一下当前的gem源
gem sources -l
如果你没有改过源的话,默认应该是https://rubygems.org/,你输入下面一个命令就可以了
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
如果你已经改过了,比如改成了淘宝的网址了,那你把淘宝的网址在上面的命令里替换https://rubygems.org/然后重新回车就行了。
现在重新看一下gem源,确保只有一个,https://gems.ruby-china.org/,网址最后面的斜线也要有。
gem sources -l
第三步:安装CocoaPods
1.安装CocoaPods
很多同学都是直接从这一步开始的,一般也没啥问题,如果有啥问题,重复上面两步试试。
sudo gem install cocoapods
验证是否安装成功。如果出现版本号,比如1.2.0,那就是安装成功了。
pod --version
如果没有出现版本号或安装不成功,试试这个命令:
sudo gem install -n /usr/local/bin cocoapods
2.下载CocoaPods镜像索引
这一步会从github上下载内容,如果你访问github需要vpn,那这一步也需要开启vpn,镜像索引
文件这几年越来越大,现在大概400M左右,根据网速不同,可能下载需要很久。
注意这个下载貌似不能断点续传,所以你要是去吃饭或者离开电脑的时候一定要把系统偏好设置里的节能关掉,否则睡眠了,给你断网了,你得重新开始。最新版Pod有下载进度可以看,以前的没有。
pod setup
如果出现下面的提示,没报错的话,那么恭喜,CocoaPods已经安装并下载镜像索引成功了。
Setting up CocoaPods master repo
$ /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
Cloning into 'master'...
remote: Counting objects: 1113358, done.
remote: Compressing objects: 100% (255/255), done.
remote: Total 1113358 (delta 87), reused 1 (delta 1), pack-reused 1113090
Receiving objects: 100% (1113358/1113358), 381.32 MiB | 349.00 KiB/s, done.
Resolving deltas: 100% (520388/520388), done.
Checking out files: 100% (140115/140115), done.
Setup completed
---------- 2017.3.9更新开始 ----------
看了一篇文章,地址http://www.jianshu.com/p/43a1891b267d教大家如何跳过漫长的且不稳定的下载镜像这一步,选了2个方法在此做个备份:
原理:CocoaPods镜像文件下载到了系统的文件夹下,我们可以用其他方式获取到资源,手动添加到系统文件夹下,打开这个文件夹(这是一个隐藏文件夹):
open ~/.cocoapods/repos
方法1: 使用浏览器下载:浏览器打开:https://github.com/CocoaPods/Specs,使用zip下载压缩文件,然后解压到上面的文件夹下,一定要确保文件夹路径和顺序为~/.cocoapods/repos/master/...
方法2:从其他电脑拷贝:确保路径一致,拷贝repos文件夹到本机即可
附:MacOS 显示或隐藏所有文件命令行
defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder //显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles No && killall Finder //不显示隐藏文件
---------- 2017.3.9更新结束 ----------
3.导入项目需要的第三方库
cd 项目文件夹
进入项目文件夹后,如果已经有了Podfile,并在同一文件夹路径下,执行导入命令即可
pod install
如果是全新项目,那么需要手动创建Podfile文件,创建方法如下:
touch Podfile
打开这个新建的文件,文本编辑器或者Xcode打开都行,你会用vim的话也行,在里面输入基本内容,然后保存
简单解释一下:
1.第一行是镜像地址,默认都是这个,不用改
2.第二行platform是平台的意思,填ios,'8.0'是项目支持的最低ios系统版本
3.第三行是项目里target名字,你根据项目target名字填就行。后面注意有个"do ... end",别忘了写
4.第四行开始用"do ... end"包含起来的以pod开头的就是你导入的第三方库的名字,后面的数字是导入的第三方库的版本号。'~>3.0'的意思是大于3.0的版本。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'targetName' do
pod 'AFNetworking', '~> 3.0'
pod 'Masonry', '~> 0.6.1'
end
4.关于pod install和pod update的用法区别
执行导入命令有两个,一个是“pod install”,一个是“pod update”,区别如下:
1.pod install:这个是将本地已经缓存的(也就是已经pod setup过的)第三方库直接安装,如果本地有第三方库,就安装,不会管库的版本,也不去网络下载,如果本地没有,那么就去网络下载一个,然后缓存到本地;
2.“pod update”:这个命令会直接跳本地缓存的第三方库,直接从网络上下载最新的。
3.“pod update --no-repo-update”:带参数更新,若添加后仅从本地Cocoapods库中查找SDK,不再更新线上SDK。如果本地存在SDK会直接使用本地SDK版本(不是线上最新版本),若本地不存在SDK会产生错误。
4.这两命令第一次执行时都会更新本地的库。
附1: 可能遇到的问题:
执行pod setup命令后可能出现以下错误提示,原因是从github下载specs库的时候网络出现了问题,比如电脑休眠了,断网了,或者连接到github不稳定,都可能导致这个问题,解决办法就是多试几遍pod setup命令
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
Cloning into 'master'...
remote: Counting objects: 1113291, done.
remote: Compressing objects: 100% (191/191), done.
error: RPC failed; curl 56 SSLRead() return error -980617.00 KiB/s
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
附2: 参考文章:
这几篇参考文章是最近几次安装的时候看的,当然一开始看的文章不止这几篇,而且这几篇也可能参考别的文章了,比如唐巧的博客,这个是真正的教程,本文只是个安装步骤,不是CocoaPods教程,所以不详细。
最后感谢CocoaPods开发者和维护者,谢谢各位!
网友评论