我们经常会使用到CocoaPod,但是最近我安装的时候碰到了好多的问题,也查了好多的文章,现在就总结一下我遇到的问题和我没有遇到但是看到的问题以及我集成的步骤,废话不说了,开始说步骤:
1、进入终端,查看当前Ruby版本,使用命令:
ruby -v
这样的版本是需要更新的,可以通过rvm对Ruby进行升级,否则会安装失败,因为有的要求版本必须大于2.2.0
2、Ruby升级环境
1、先检测有无rvm,命令:
rvm -v
,如果没有执行下面步骤1)和2), 没有的显示如下:
1)、安装 rvm ,使用命令:
curl -L get.rvm.io | bash -s stable
如果报错:
是由于现在raw.githubusercontent.com被墙了,需要这样操作
1、 访问 https://site.ip138.com/raw.Githubusercontent.com/
输入raw.githubusercontent.com查询IP地址
2、在文件hosts添加查询的ip
vi /etc/hosts
151.101.76.133 raw.githubusercontent.com
3、保存退出 qw!
4、终端中 ping raw.githubusercontent.com
2)、加载文件, 测试是否安装正常(按照提示操作)
使用命令:
source ~/.bashrc 和
source ~/.bash_profile和
source ~/.profile,
以及rvm-v查看版本
如果出现这种情况这样解决:
如果有下面的提示, 请reload rvm
A RVM version 1.27.0 (latest) is installed yet 1.25.23 (stable) is loaded.
Please do one of the following:
- 'rvm reload'
- open a new shell
- 'echo rvm_auto_reload_flag=1 >> ~/.rvmrc' # for auto reload with msg.
- 'echo rvm_auto_reload_flag=2 >> ~/.rvmrc' # for silent auto reload.
输入命令:
ram reload
rvm -v
2、获取rvm列表,使用命令:
rvm list known
3、安装ruby 使用命令:
rvm install 2.3.0
可能出现错误:
错误1: 在安装ruby的时候, 可能会如下报错, 提示 Updating system[YourMacName] password required for ‘port -dv self update’, 如下:
解决:
进行更新:
sudo port self update
更新完成后, 如图:
错误2: 你可能遇到如下错误, 原因是需要安装Homebrew.
Error running 'requirements_osx_port_libs_install curl-ca-bundle automake libtool libyaml libffi libksba',
showing last 15 lines of /Users/acewill/.rvm/log/1468253599_ruby-2.3.0/package_install_curl-ca-bundle_automake_libtool_libyaml_libffi_libksba.log
解决:
通过以下命令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
错误3:你可能遇到这样的错误,大概是因为缺少xcde工具吧
解决: 使用命令:
xcode-select --install
安装一个工具
4、如果有错误重新安装ruby 执行命令:
rvm install 2.3.0
安装成功如下图:
5、检查ruby版本,使用命令:
ruby -v
,结果如下就说明Ruby更新好了
6、如果想要卸载ruby,需要执行以下步骤
命令:
rvm list
命令:
rvm remove 2.3.0
3、查看镜像,命令:
gem sources -l
如果是这样子就可以,如果不是我们就需要设置镜像
1)、先移除系统原来的镜像,使用命令:
gem sources --remove https://rubygems.org/
2)、重新设置镜像,使用命令:
gem sources -a https://ruby.taobao.org/
不过最近好像淘宝镜像无法使用了,建议使用这个镜像
https://gems.ruby-china.com/
建议升级一下gem:使用命令:
sudo gem update --system
4、安装CocoaPods,使用命令:
sudo gem install cocoapods
5、配置及一下cocoaPod:
pod setup
这样我们就成功安装好了CocoaPods,接下来就是使用了。
cocoaPods 的使用:
1、打开终端
cd + 文件路径
,到我们的项目下
2、使用命令:
pod init
,会在我们工程下面生成一个Podfile文件
3、打开Podfile文件,设置我们需要使用cocoaPods的文件就好了
4、最后执行命令
pod install
等待就可以了
执行成功后如图所示
注:当中可能出现问题,就是一直卡在Setting up CocoaPods master repo..中
有人说使用这种方法:
打开终端:
cd ~/.cocoapods
到该目录下,然后再使用du -sh *
命令来查看文件大小,这个其实就是告诉你,文件正在下载中,网速比较慢,等着就好了,‘或者另一种方法查看
你可以到系统的“活动监视器”中查看“网络”这块,会发现有一些东西正在被下载,有一个 “git-remote-http” 就是负责下载 spec repo cocoapods 的,所以慢慢等待吧!
如果文件大小一直不变的话,或者没有下载的话,上述的方法是没办法解决问题的,如何解决呢,可以看看这篇文章:http://www.jianshu.com/p/e0bebd18fcd9
基本上分为这四步
1、移除默认路径:
pod repo remove master
2、添加替代:
pod repo add master http://git.oschina.net/akuandev/Specs.git
会出现以下警告,直接忽略进入第三步即可。
[!] To setup the master specs repo, please run `pod setup`.
3、重新下载:
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
4、最后执行更新:
pod repo update
cocoaPods的更新:
在我们pod install的时候,我们很有可能因为Pod的版本不一致导致我们无法pod成功,这就需要我们对Pod的版本进行更新了。
1、查看pod的版本:
pod --version
2、更新pod :
sudo gem update cocoapods
或者使用
sudo gem update
来更新所有
3、在次查看版本: pod --version
在过程中可能遇到这种错误
ERROR: While executing gem ...
(Gem::RemoteFetcher::FetchError)Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://ruby.taobao.org/specs.4.8.gz)
这个地方出错的原因是因为 ruby 的 gem 被和谐了,
我们可以换一个ruby源再安装一次,也就是再次执行这两个步骤:
1、卸载cocoaPod:
sudo gem uninstall cocoapods
2、查看镜像,命令:
gem sources -l
如果是这样子就可以,如果不是我们就需要设置镜像
1)、先移除系统原来的镜像,使用命令:
gem sources --remove https://ruby.taobao.org/
2)、重新设置镜像,使用命令:
https://gems.ruby-china.org/
3、安装CocoaPods,使用命令:
sudo gem install cocoapods
4、配置及一下cocoaPod:
pod setup
这样就ok了
CocoaPods1.8.0后新版本出现的一些问题:
- 出现
pod search
搜索找不到库的问题
处理方式: 移除trunk库,这有再搜索就没有问题了
pod repo remove trunk
-
pod init
出现问题
处理方式: 在Podfile
文件中添加
source 'https://github.com/CocoaPods/Specs.git'
关于pod search XXX 库版本低于 Github 上库最新版本的解决可以看看这篇文章:http://www.jianshu.com/p/cf6927342572
参考:http://www.cnblogs.com/Mrliheng/p/5665894.html
参考:http://www.jianshu.com/p/6d8604f0b94c
大概就这些了,希望大家能提出宝贵的意见,可以给我留言,也可以发邮件到我的邮箱:namezyqyx@163.com
谢谢大家,如果你有更好的想法或文章请告知,不胜感激。