使用gem来安装cocopods
升级ruby 环境
因为准备在项目中使用bootstrap,在安装bootstrap过程中提示需要Ruby的版本在1.9.2以上,而目前使用的Ruby版本是Mac系统自带的1.8.7。所以需要对Ruby进行升级。这里使用RVM对Ruby进行升级,升级过程如下:
1、安装 RVM
RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)
[ruby] view plain copy
- curl -L get.rvm.io | bash -s stable
等待一段时间后就可以成功安装好 RVM。
[ruby] view plain copy
- source ~/.bashrc
- source ~/.bash_profile
测试是否安装正常
[ruby] view plain copy
- rvm -v
[图片上传失败...(image-94bc-1539076681308)]
、
2、用RVM升级Ruby
[ruby] view plain copy
-
查看当前ruby版本
- ruby -v
- ruby 1.8.7
-
列出已知的ruby版本
- rvm list known
-
安装ruby 1.9.3
- rvm install 1.9.3
安装完成之后ruby -v查看是否安装成功。
[图片上传失败...(image-866720-1539076681313)]
CocoaPods的安装
1. 查看Ruby环境
默认情况下,Mac OS X已经安装了Ruby环境,检查环境是否正确与Ruby版本可以使用以下命令:
ruby --version
2. 查看当前gem
gem sources -l
------------------------------
得到的:*** CURRENT SOURCES ***
https://rubygems.org/
3. 移除不需要的Ruby路径
gem sources --remove https://rubygems.org/
当终端有响应以后在执行下面的步骤。
4. 添加镜像
gem sources -a https://gems.ruby-china.com
5. 检查镜像是否正确
gem sources -l //(这里是小写的L)
下面是一些更新操作
1. 更新gem
sudo gem update --system
2.升级 CocoaPods
第一种: sudo gem install -n /usr/local/bin cocoapods --pre
sudo gem install cocoapods -n /usr/local/bin
第二种: sudo gem install cocoapods
3.更新本地仓库
pod repo update
4.卸载cocopods
主要卸载命令sudo gem uninstall cocoapods
继续移除一些文件
- rm -rf ~/.cocoapods
- rm -rf ~/Library/Caches/CocoaPods
- rm -rf ~/Library/Preferences/cocoapods
- rm -rf ~/Library/Logs/CocoaPods
- sudo rm -rf /usr/local/bin/pod
使用'which pod'查询是否还有遗留的
二、安装CocoaPods
输入以下命令后,输入管理员密码,等待安装(输入密码回车后,可能要等一会儿才会有反应)
sudo gem install cocoapods
这一步完成后,可以看到大量的Log信息出现在终端中,最后一行是:
19 gems installed
这样CocoaPods就安装完成了。
:/* cocoapods使用步骤:
1.在终端输入命令:cd 工程文件夹的目录(可以直接拖工程文件夹进终端)
2.创建Podfile文件:touch Podfile(是Podfile不要记错了)//或者: pod init
3:进入命令行:vim Podfile
4.紧接着按键盘上的“i”键,对Podfile文件进行编辑,例如
platform:ios, ‘8.0‘
pod ‘AFNetworking‘, ‘~> 3.1.0‘ (ios 进入的时候搜索下就下)
在编辑完成后按“esc”
5.在按“:”,这个时候输入wq,点击回车,保存并退出
6.然后在终端输入命令安装相应的第三方类库 $ pod install //或者 pod install
注:如果要在工程中导入多个第三方框架,直接vim Podfile进入编辑,在后面继续添加你要导入的第三方就行了,不用重新touch Podfile, 保存后pod instal
*/
//三 删除
1.先 cd 文件夹
2.vim Podfile 3.进入后直接把对应的删除,完后pod update
4.不能在工程里面直接删除
//参考网址 :http://www.saitjr.com/ios/ios-cocoapods-install-and-use.html
platform :’ios’, ’8.0’
target ’snikp’ do //snikp是工程名
pod ‘snikp’
end
<u>三:创建工程使用 cocoapods 时没有出现 xcworkspace 文件解决方法</u>
可以使用下面的解决方法
sudo gem
sudo gem install -n /usr/local/bin cocoapods --pre
3. 在工程目录下 pod install
四. 更新三方库
- 只更新指定三方库,不更新其他三方库
pod update 第三方名字 --verbose --no-repo-update
例如:
pod update AFNetworking --verbose --no-repo-update
- 只想给项目添加新的第三方,不更新本地已经存在的第三方
pod install --verbose --no-repo-update
五. 导入较大的三方库
- 在pod install 很大的三方库时,这个时候一般会报错
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
第一种解决方案:
- 将curl的postBuffer值配置为500M,具体值看项目需求,配置成功不会有提示,配置失败会有提示,终端输入命令:
git config --global http.postBuffer 524288000
git config --global https.postBuffer 524288000
这里一共有两条,都必须添加,一个是http,一个是https。网上很多都是错误的。
2.查看配置,输入命令:
git config --list
效果如下 注意查看其中的postBuffer对应的值是否是设置的值,如果是,设置成功,否则,设置失败
credential.helper=osxkeychain
http.postbuffer=524288000
https.postbuffer=524288000
- 使用pod命令导入三方库,并且可以查看实时进度
pod install --verbose --no-repo-update
这时你会看到有很多信息出来,只需要看最后几行
> Git download
> Git download
$ /usr/bin/git clone https://github.com/Tencent/wcdb.git
/var/folders/sq/58ph4dgj07199tx2bfdcxtsj6wn2t0/T/d20200819-10638-4wry34
--template= --single-branch --depth 1 --branch v1.0.8.2
看到/var/folders/sq/58ph4dgj07199tx2bfdcxtsj6wn2t0/T/d20200819-10638-4wry34
这一行,就是下载三方库的存储路径。
重新打开一个新的终端窗口,先cd 到这条路径下
cd /var/folders/sq/58ph4dgj07199tx2bfdcxtsj6wn2t0/T/d20200819-10638-4wry34
再,使用命令查看实时下载进度,建议每隔一分钟看一次
du -sh
这时就会看到当前下载量,有没有中断
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
5.0M .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
6.0M .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
6.0M .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
7.0M .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
7.0M .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
9.0M .
第二种解决方案
在第一种方案下也不行的话,使用以下方案
- 先浅层clone,然后更新远程库到本地
git clone --depth=1 http://gitlab.xxx.cn/yyy/zzz.git
git fetch --unshallow
直接将三方库先clone到本地,再倒入项目中
第三种解决方案
是采用风哥的快速导入,参考链接:快速导入三方库
六. pods 失败
- 失败提示
error: RPC failed; curl 16 Error in the HTTP2 framing layer
fatal: error reading section header 'shallow-info'
解决方法:
git config --global --unset https.proxy
git config --global --unset http.proxy
- 失败提示:
LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
解决办法:
git config --global http.sslVerify false
或者
git config --global http.sslVerify true
亲测,有些库开启代理可以上传,有些库开启代理不行
- pod install 失败的情况,还可以使用
185.199.108.133 raw.githubusercontent.com
首先使用命令sudo vim /etc/hosts,进入编辑界面,添加此命令
截屏2021-06-30 下午7.12.42.png
七. 删除整个cocopods
当我们使用pod init 给项目创建了一个pods库,突然有一天我们不想要pods库了,这个时候想要把整个pods库删除,还是有点麻烦。
- 先安装移除工具 cocoapods-deintegrate
sudo gem install cocoapods-deintegrate
- 移除掉,clean
pod clean
使用homeBrew安装 cocopods
- 安装Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
建议使用以下地址:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
Homebrew安装教程
- 查看homebrew版本
brew -v
注意
1、homebrew的命令是以brew开头
2、homebrew 的默认安装目录为 /usr/local
3、通过 brew 安装的程序都会默认安装到 /usr/local/Cellars/程序名/版本号/ 目录下
3.安装ruby
brew install ruby
4.查看ruby版本
ruby -v
- 查看当前Mac电脑的brew.git 当前源
cd "$(brew --repo)" && git remote -v
6.查看当前homebrew-core.git 当前源]
cd "$(brew --repo homebrew/core)" && git remote -v
7.将当前电脑homebrew镜像修改为阿里源
git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
修改 homebrew-core.git 为阿里源
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
zsh 替换 brew bintray 镜像(电脑终端是zsh的用这种)
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
- ruby生效果
1echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
2source ~/.zshrc
11.安装cocopods
brew install cocoapods
7.卸载cocopods
brew uninstall cocoapods
//删除余孽
rm -rf ~/.cocoapods
rm -rf ~/Library/Caches/CocoaPods
rm -rf ~/Library/Preferences/cocoapods
rm -rf ~/Library/Logs/CocoaPods
- 更新cocopods
brew upgrade cocoapods
9.卸载ruby
brew uninstall ruby
10.卸载 vim
rvm implode
完全卸载,再加命令rm -rf ~/.rvm
换源
查看当前源:
pod repo
wangxiao@localhost ~ % pod repo
trunk
- Type: CDN
- URL: https://cdn.cocoapods.org/
- Path: /Users/wangxiao/.cocoapods/repos/trunk
换源命令步骤:
cd ~/.cocoapods/repos
pod repo remove master
git clone [https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git](https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git) master
-
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
//上面那种不行,就用这个
更新源:
pod repo update
八:cocoapods报错
-
Unable to determine the platform for the xxx target.
由于新建项目里面,platform :ios, '9.0' 被注释掉了