本想着学习一下大神的关于即时通讯的项目,使用CocoaPods命令集成网络库的时出现以下错误
错误命令
这种情况下检查一下自己rvm环境
检查rvm环境.png
竟然找不到rvm环境,郁闷了。
后来想到,上周末重装系统后,本地的安装环境全都丢失。
我们在使用CocoaPods集成的时候,检查开发环境的正常顺序如下
Xcode --- HomeBrew --- RVM --- Ruby --- CocoaPods
Homebrew、Rvm、Ruby、CocoaPods 简介
· 1、官网及相关链接
Rvm 官网 : https://www.rvm.io/
Ruby 官网 :https://rubygems.org/
CocoaPods 官网 :https://cocoapods.org/
Rvm 安装指南 :https://rvm.io/rvm/install
Homebrew 官网 :http://brew.sh/index_zh-cn.html
ruby 镜像 - taobao:https://ruby.taobao.org/
ruby 镜像 - china:https://gems.ruby-china.org/
· 2、Homebrew 介绍
- Homebrew 是一个软件包管理器,用于在mac上安装一些os x上没有的UNiX工具;类似于360软件管理器。
· 3、Rvm 介绍
- Rvm 全称 Ruby Version Manager ,是安装和管理 ruby 的一种工具。
- 摘录:RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.
· 4、Ruby 介绍
- Ruby 是一种面向对象的脚本语言,简单易用,功能强大。能跨平台和可移植性好等等。其实就是种脚本语言。
- Ruby 的软件源使用的是亚马逊的云服务,国内网络环境下载时可能会出现各种不稳定和超时,所以自带的需要翻墙,可以将 官方 ruby 源 替换成国内 淘宝 ruby 源(https://ruby.taobao.org/ )或者是由 China ruby 源 (https://gems.ruby-china.org/ )。据消息了解,2016.06 淘宝源 暂停维护了,建议使用 China ruby 源。
· 5、CocoaPods 介绍
- CocoaPods 是 iOS 最常用的第三方类库管理工具,绝大部分有名的开源类库都支持 CocoaPods。
- CocoaPods 是用 ruby 实现的,要想使用它首先需要有 ruby 的环境。幸运的是OS X系统默认已经可以运行 ruby 了。但是有时候 ruby 版本过低是无法正常支持 CocoaPods 的使用,所以需要先安装更新升级 rvm 和 ruby。
RVM的操作
- 检查rvm安装环境
rvm -v
存在的情况下
rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
不存在的情况下
-bash: rvm: command not found
- 输出-bash: rvm: command not found之后,需要开始安装rvm
curl -L https://get.[rvm.io](http://rvm.io) | bash -s stable
- 载入rvm环境
source ~/.rvm/scripts/rvm
安装完成后,重复上述检查操作
rvm -v
ruby的操作
- 查询已知ruby环境
rvm list known
输出结果
输出结果.png
*安装ruby
rvm install 2.3.0
输出结果
安装ruby.png
出现问题
安装2.2.2版本.png
接下来,我们安装Terminal指定的版本
rvm install 2.2.2
- 查询已知安装的ruby
rvm list
- 查看当前ruby版本
ruby –v
查看当前ruby版本.png
- 检查ruby源
gem sources -l
检查源.png
至此,ruby安装,可以愉快的去使用CocoaPods了。
补充操作
- 移除源
gem sources --remove [https://rubygems.org/](https://rubygems.org/)
替换添加国内镜像源 ruby-china 源,因为上面已经提到国内镜像源 taobao 源 已经停止维护了,所以此处替换的是 ruby-china 源,且尽量确保只有一个 ruby-china 源
- 添加替换源
gem sources --add https://gems.[ruby-china.org](http://ruby-china.org)
- 升级更新
sudo gem update —system
CocoaPods的安装使用
这里不多介绍,code4app一篇文章总结的很完善了,如下:
CocoaPods安装和使用教程
安装成功之后如下
*
意外状况补充:
刨根问底,刨个稀烂
安装需要第三方库的时候,出现了以下错误
- [!] Unable to find a specification for
CocoaAysncSocket
或者 - [!] Unable to find a pod with name, author, summary, or description matching
CocoaAysncSocket
执行 pod setup,将https://github.com/CocoaPods/Specs上的Specs项目clone到/Users/用户名/.cocoapods/repos目录下
pod setup
还是错误的话,继续执行
rm ~/Library/Caches/CocoaPods/search_index.json
删除~/Library/Caches/CocoaPods目录下的search_index.json文件
search.png
还是错误的话,集成指定的版本
platform :ios,"8.0"
target "cyCocoaSyncSocket" do
pod 'CocoaAsyncSocket', '~> 7.6.2'
end
常用命令
pod install
使用环境
- 这个是第一次在工程里面使用pods的时候使用,并且,也是每次你编辑你的Podfile(添加、移除、更新)的时候使用。
- 每次运行pod install命令的时候,在下载、安装新的库的同时,也会把你安装的每个库的版本都写在了Podfile.lock文件里面。这个文件记录你每个安装库的版本号,并且锁定了这些版本。
- 当你使用pod install它只解决了pods里面,但不在Podfile.lock文件里面的那些库之间的依赖。对于在Podfile.lock里面所列出的那些库,会下载在Podfile.lock里面明确的版本,并不会去检查是否该库有新的版本。对于还不在Podfile.lock里面的库,会找到Podfile里面描述对应版本(例如:pod "MyPod", "~>1.2”)。
pod update
使用环境
- 当你运行 pod update PODNAME 命令时,CocoaPods会帮你更新到这个库的新版本,而不需要考虑Podfile.lock里面的限制,它会更新到这个库尽可能的新版本,只要符合Podfile里面的版本限制。
- 如果你运行pod update,后面没有跟库的名字,CocoaPods就会更新每一个Podfile里面的库到尽可能的最新版本。
- 你应该使用pod update PODNAME去只更新某个特定的库(检查是否有新版本,并尽可能更新到新的版本)。对应的,你应该使用pod install,这个命令不会更新那些已经安装了的库。
- 当你在你的Podfile里面添加了一个库的时候,你应该使用pod install,而不是pod update,这样既安装了这个库,也不需要去更新其它的已安装库。
以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
更新
pod update --verbose --no-repo-update
网友评论