1.首先查看ruby的版本
ruby -v
image.png
2.查看rvm 版本
rvm -v
2.1 控制台输出zsh: command not found: rvm问题
第一步下载rvm
git clone https://github.com/rvm/rvm.git
image.png
下载完之后、根据路径、到rvm文件夹下、 找到 /bin/rvm-installer中 rvm-installer双击
image.png
安装完显示
image.png
2.2需要配置环境变量
vi ~/.bash_profile
// 看有没有这一行,没有的话就在最后输入
[[ -s "HOME/.rvm/scripts/rvm"
输入 :wq // 保存并退出
终端输入
source ~/.rvm/scripts/rvm
rvm -v
看到下面rvm版本说明安装成功
image.png
3.更换ruby镜像源
(gem更新)
sudo gem update --system
//查看源。
gem sources -l
//移除源。
gem sources --remove https://rubygems.org/
//更换源。
gem sources --add https://gems.ruby-china.com/
//查看是否更新成功。
gem sources -l
(gem版本)
gem --version
image.png
4.安装CocoaPods
sudo gem install -n /usr/local/bin cocoapods
pod安装成功之后一个首先的操作就是执行命令(不是必须的):
pod setup(安装本地库)【可以用git clone替代】
替代后要 pod repo update(更新本地库)
pod --version(pod版本)
pod 安装是否成功(1为安装成功,0为不成功)
pod repo list
所有的第三方开源库的Podspec文件都托管在https://github.com/CocoaPods/Specs
我们需要把这个Podspec文件保存到本地,这样才能让我们使用命令pod search 开源库搜索一个开源库,怎样才能把github上的Podspec文件保存本地呢?那就是 pod setup
执行pod setup时,CocoaPods 会将第三方的podspec索引文件更新到本地的~/.cocoapods/repos目录下
如果没有执行过 pod setup,那用户根目录下~找不到.cocoapods/repos目录的,没有创建这个目录。
如果执行 pod setup,并且命令没有执行成功,那么会创建~/.cocoapods/repos目录,只不过目录是空的。
如果执行 pod setup,并且命令执行成功,说明把github上的Podsepc文件更新到本地,那么会创建~/.cocoapods/repos目录,并且repos目录里有一个master目录,这个master目录保存的就是github上所有第三方开源库的Podspec索引文件。
但是第一次执行pod setup时,这个github的Podspec索引文件比较大,有 300M 左右(以后会越来越大的),所以第一次更新时非常慢.要耐心等待......可以进去目录~/.cocoapods/repos使用命令du -sh *来查看下载文件的大小了
image.png怎么能快点呢?
5.clone CocoPods仓库 ,这里用的是清华大学fork的CocoaPods仓库
cd ~/.cocoapods/repos
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git ~/.cocoapods/repos/trunk
image.png
clone完成后,需要cd 到trunk进行更新操作
pod repo update
然后就可以搜索AFNetworking库了
image.png也可以用gitee上的一个私人fork的仓库,这个仓库比清华的速度更快,但是有可能更新不及时
git clone https://gitee.com/mirrors/CocoaPods-Specs.git ~/.cocoapods/repos/trunk
官方库【用Git clone 拉取因为项目太大,只拉取深度为1的条件就好了】
pod setup 【提示:Setup completed】
cd ~/.cocoapods/repos
git clone --depth 1 https://github.com/CocoaPods/Specs.git master
image.png
上面CocoaPods仓库选择一个clone就行了
查看仓库
~/.cocoapods/repos
常用pod指令
pod install --verbose --no-repo-update
该命令只安装新添加的库,已更新的库忽略
pod update 库名--verbose --no-repo-update
该命令只更新指定的库,其它库忽略
更新所有的第三方库:pod update --verbose --no-repo-update
podfile 里面删除要删除的库
当需要在CocoaPods中删除一个我们不要的库时 可以在Podfile中直接删除相关库
个人建议使用 pod install --verbose --no-repo-update
查看Cocoapods引入第三方库的版本号
1.打开终端,cd 项目文件目录
2.执行命令:cat Podfile.lock
3.查看输出:Podfile.lock文件会跟踪每个pod的已安装版本并锁定这些版本。
执行pod outdated命令,可以查看项目中非最新的第三方库的名字、版本号以及对应的最新的版本号,项目中已经是最新的库不显示
依赖库的基本写法
pod 'JYCarousel', //不显式指定依赖库版本,表示每次都获取最新版本
pod 'JYCarousel', '0.01'//只使用0.0.1版本
pod 'JYCarousel', '>0.0.1' //使用高于0.0.1的版本
pod 'JYCarousel', '>=0.0.1' //使用大于或等于0.0.1的版本
pod 'JYCarousel', '<0.0.2' //使用小于0.0.2的版本
pod 'JYCarousel', '<=0.0.2' //使用小于或等于0.0.2的版本
pod 'JYCarousel', '~>0.0.1' //使用大于等于0.0.1但小于0.1的版本,相当于>=0.0.1&&<0.1
pod 'JYCarousel', '~>0.1' //使用大于等于0.1但小于1.0的版本
pod 'JYCarousel', '~>0' //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
可能遇到的错误提示及解决方法
错误一
error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)
fatal: the remote end hung up unexpectedly
将http.postBuffer设置的尽量大,例如
git config --global http.postBuffer 524288000
错误二
error: RPC failed; curl 16 Error in the HTTP2 framing layer
fatal: expected flush after ref listing
直接换掉Git的http版本
git config --flobal http.version HTTP/1.1
image.png
错误三
[!] CocoaPods could not find compatible versions for pod "ZLPhotoBrowser":
In snapshot (Podfile.lock):
ZLPhotoBrowser (= 4.1.9)
In Podfile:
ZLPhotoBrowser
image_pickers (from `../hmc_flutter_module/.ios/.symlinks/plugins/image_pickers/ios`) was resolved to 0.0.1, which depends on
ZLPhotoBrowser (~> 4.3.9)
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* changed the constraints of dependency `ZLPhotoBrowser` inside your development pod `image_pickers`.
You should run `pod update ZLPhotoBrowser` to apply changes you've made.
作者的开源库的ZLPhotoBrowser.podspec文件中关于deployment_target 配置写的10.0,
s,ios.deployment_target = '10.0'
image.png
解决办法:直接把自己项目的podfile中的版本改成10.0,跟开源库要求的最低系统版本一直,就可以了
网友评论