今天清理下电脑,发现自己电脑上的cocoapods经常出现的一个问题就是一些经常用的第三方库cocoapods搜不到,比如SDWebImage,然后就鼓捣了一下
$pos list 命令发现M 以后的库查询不到了,发现 $pod search 和 $pod list 查找的都是本地的第三方类库,并不是服务器的类库,于是原因肯定就出在本地和远程不同步的问题。
最后在网上找了写资料也有解决的办法使用 pod repo update master 命令同步远程服务器的第三方类库, 发现有可能是网络问题,有可能是远程服务器就是github,然后类库列表不全。然后想到了另外的办法,有大神在gitcafe和oschina上建立了CocoaPods索引库的镜像。因为gitcafe和oschina都是国内的服务器,所以在执行索引更新操作时,会快很多。
//下面的切换命令本人没有切换成功一直报这个错误
[!] To setup the master specs repo, please run `pod setup`.
$pod repo remove master
$pod repo add master https://gitcafe.com/akuandev/Specs.git (2016.5.31日网站已关闭)
$pod repo update 或者可用http://git.oschina.net/akuandev/Specs.git 即可使用oschina上的镜像。然而我是卸载了重新装了一遍,装了一个高版本的一.
1.在装之前最好先卸载点老版本$ sudo gem uninstall cocoapods
2.查看本地安装过的cocopods相关东西
$ gem list --local | grep cocoapods
显示如下:
cocoapods (1.0.1)
cocoapods-core (1.0.1)
cocoapods-deintegrate (1.0.1)
cocoapods-downloader (1.1.1)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.0.0)
cocoapods-try (1.1.0)
然后使用命令逐个删除
$ sudo gem uninstall cocoapods-core
$ sudo gem uninstall cocoapods-deintegrate
....
删除完之后接下来安装RVM
RVM 是干什么的这里就不解释了,后面你将会慢慢搞明白。
$ curl -L https://get.rvm.io | bash -s stable然后,载入 RVM 环境
$ source ~/.rvm/scripts/rvm检查一下是否安装正确
$ rvm -vrvm 1.27.0 (latest) by Wayne E. Seguin, Michal Papis[https://rvm.io/]
用RVM安装Ruby环境
可以先查询已经安装的ruby
$ rvm list
卸载一个已安装版本
$ rvm remove 1.9.2
列出已知的ruby版本
$ rvm list known
可以选择现有的rvm版本来进行安装(下面以rvm 2.3.0版本的安装为例)
$ rvm install 2.3.0
这里需要等上一段时间
二.
设置Ruby版本
RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本
$ rvm 2.3.0 --default
同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本
这个时候你可以测试是否正确
$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
三
安装 coocapods 其实也需要FQ的,这里不多说了,直接切换到淘宝镜像服务器
查询:
$ gem sources -l
可以查看当前是什么连接,然后替换方式如下:
$ gem source -r https://rubygems.org/
$ gem sources --add https://gems.ruby-china.org
要想验证是否替换成功了,可以执行:
$ gem sources -l
成功显示
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
四
这里开始安装 cocoapods
$ sudo gem install cocoapods 差不多过个几十秒吧
会提示:gems installed
这个时候可能会出现以下错误:
While executing gem ... (Gem::RemoteFetcher::FetchError) bad response Forbidden 403 (https://gem
解决办法:
执行命令
sudo gem install fir-cli --no-ri --no-rdoc
不料,竟然返回错误信息
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org/quick/Marshal.4.8/fir-cli-1.1.5.gemspec.rz)
网上搜了下,找到了解决方案,执行命令
sudo gem sources -r https://rubygems.org/
gem sources -a https://ruby.taobao.org/
看下ruby源
gem sources -l
显示如下
*** CURRENT SOURCES ***
https://ruby.taobao.org/
然后再次执行命令
sudo gem install fir-cli --no-ri --no-rdoc
显示
Fetching: rubyzip-1.1.7.gem (100%)
Successfully installed rubyzip-1.1.7
Fetching: ruby_android-0.7.7.gem (100%)
Successfully installed ruby_android-0.7.7
Fetching: unf_ext-0.0.7.1.gem (100%)
Building native extensions. This could take a while...
Successfully installed unf_ext-0.0.7.1
Fetching: unf-0.1.4.gem (100%)
Successfully installed unf-0.1.4
Fetching: domain_name-0.5.24.gem (100%)
Successfully installed domain_name-0.5.24
Fetching: http-cookie-1.0.2.gem (100%)
Successfully installed http-cookie-1.0.2
Fetching: rest-client-1.8.0.gem (100%)
Successfully installed rest-client-1.8.0
Fetching: CFPropertyList-2.3.1.gem (100%)
Successfully installed CFPropertyList-2.3.1
Fetching: fir-cli-1.1.5.gem (100%)
______________ ________ ____
/ ____/ _/ __ \ / ____/ / / _/
/ /_ / // /_/ /_____/ / / / / /
/ __/ _/ // _, _/_____/ /___/ /____/ /
/_/ /___/_/ |_| \____/_____/___/
## 更新记录
### FIR-CLI 1.1.5
- 完全兼容新版 API ✔
- 请使用新版 API Token
- 新版 API Token 查看地址: `http://fir.im/user/info`
- 增加 `fir me` 指令查看当前登录用户
- 增加团队成员直接上传 app
- https://github.com/FIRHQ/fir-cli
Successfully installed fir-cli-1.1.5
9 gems installed
好了,到这安装成功了,现在开始体验下fir-cli
然后执行下一步:
$ pod setup
Terminal会停留在 Setting up CocoaPods master repo 这个状态一段时间,是因为要进行下载安装,而且目录比较大,需要耐心等待一下
看到最后一条
五 coocapods 的使用,
使用 xcode 创建一个项目 然后cd 进入文件夹
执行命令 touch Podfile 创建 podfile 文件
打开 podfile文件 open -e Podfile ,或者拖动文件直接使用 xcode打开
在文件中输入
platform :ios, '8.1'
//这里不写版本号,默认是下载最新的
pod 'AFNetworking'
注意:新版本要加上下面两句话
target "项目的名称" do
end
注意:'项目名称'是你项目文件中'xx.xcodeproj'文件,'xx.xcodeproj'去掉后缀名所得的‘xx’==(就是)‘你的项目名称’
如果不加会报以下错误
[!] The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.
最后执行命令:
pod install
完成.
如后面需添加新的库 使用 pod search SDWebImage
搜索你需要找的库
然后 pod update 更新就好了