本文更新于2020.05.29,安装Mac版本10.15.4,如果有没有记录的坑,也可以留言讨论;
公司的渣渣网络,让我安装cocoapos安装了8个小时,所以打算把过程记录一下,顺带提供一个cocoapos文件下的repos文件以供大家下载repos文件 (没有积分的请留意) 此repos是2020.05.29更新的,所以下载后最好更新下.白嫖没关系,大佬至少点个赞呗.
安装简要流程:(RVM安装--->ruby安装-->pods安装)
1. Ruby版本管理器RVM安装:
curl -L get.rvm.io | bash -s stable
2020.05.28新增:
安装RVM失败:Failed to connect to raw.githubusercontent.com port 443: Connection refused
解决办法如下:
- 终端输入
sudo vim /etc/hosts
意思就是进入到hosts文件编辑状态; - 复制代码
199.232.28.133 raw.githubusercontent.com
到文件中,然后按ESC退出编辑; - 输入
:wq
保存并退出; - 继续按住RVM
curl -L get.rvm.io | bash -s stable
再次安装,如果提示timeout,重复安装指令 curl -L get.rvm.io | bash -s stable
直到安装成功即可,成功的提示如下:
安装完,大佬给出了提示:To start using RVM you need to run source /Users/lepu/.rvm/scripts/rvm
需要我们运行一下指令 source /Users/lepu/.rvm/scripts/rvm
然后终端执行下命令:
source~/.bashrc
和
source~/.bash_profile
然后赶紧检查下,是否安装成功了,执行指令 rvm -v
呀,可以了
通过rvm知道可安装的最新版本
rvm list known
3. 安装一个ruby版本(我这个是2.6.3为最新稳定版,安装过程要两次输入回车↩,还一次要密码,被傻等,等到死也安装不上)
rvm install 2.6.3
- 第一次按回车是 :是否安装在默认的路径 ‘/usr/local’ 下 ,直接按回车;
- 第二次是 提示按任意键终止,或者按回车继续; 我们按回车,然后会提示输入密码;然后就是漫长的下载过程了,管你百兆光千,都给等着....
这里等了许久后,失败了,我的天...,原因:
Error running 'requirements_osx_brew_libs_install autoconf automake libtool pkg-config coreutils libyaml libksba readline zlib [email protected]', please read /Users/lepu/.rvm/log/1590656251_ruby-2.6.3/package_install_autoconf_automake_libtool_pkg-config_coreutils_libyaml_libksba_readline_zlib_openssl@1.1.log Requirements installation failed with status: 1.
说是去查看错误日志,查看后发现如下错误:
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'... error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54 fatal: the remote end hung up unexpectedly
意思就是安装homebrew(一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能)时,被挂起了,然后就尝试着在终端输入 ping github.com
还真的挂了,下面是解决办法:
终端输入 sudo vi /etc/hosts
进入hosts文件, 按 i
进入编辑状态
添加如下代码:
151.101.185.194 github.global.ssl.fastly.net
192.30.253.112 github.com
151.101.184.133 assets-cdn.github.com
151.101.184.133 avatars0.githubusercontent.com
151.101.112.133 avatars1.githubusercontent.com
我的最终的hosts文件如下:
然后再尝试终端输入 ping github.com
呀,通了,好吧,接着再来一次 rvm install 2.6.3
提示报错:Error running '__rvm_make -j 1
解决:安装命令行工具 xcode-select --install
然后再执行 rvm install 2.6.3
验证指令 ruby --version
,能正常打印版本信息,则安装成功了;
通过指令 rvm list
,可以查看我们安装的所有的ruby版本,如果有多个,请设置默认的ruby,指令 rvm use 2.6.3 --default
,2.6.3是我要设置的版本,结果如下:
如果想卸载不需要的ruby版本,可以执行指令 rvm remove 2.3.4
,这里2.3.4是我要删除的版本;然后更新下rvm ,指令 rvm get stable
4. 更换镜像为https://gems.ruby-china.com/
这一步,就是想换一下镜像,如果不换,好像也可以成功安装
查看镜像指令
gem sources -l
删除指令,有多个的话都干掉,之前这里也被坑过
gem sources --remove https://rubygems.org/
替换指令
gem sources --add https://gems.ruby-china.com/
5. 安装 cocoapods
Mac系统是 10.11 之后,需要用这个命令了
sudo gem install -n /usr/local/bin cocoapods
妈的,到这里以为就差不多了,坑太多了,还有问题:
cocoapods是直接成功了,然后 立马进行了 pod setup
报错:
如果很不幸,你这里就出错了,提示
ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension.
解决办法 终端:xcode-select --install
安装命令行工具,然后在执行 sudo gem install -n /usr/local/bin cocoapods
6. 安装本地库文件,也是最漫长的,,有好的网络的情况下,直接下面操作:
pod setup
问题:
pod setup
后直接提示Setup completed
靠,骗鬼呢,直接就完成了,不相信的我尝试了一下 指令 pod search AFNetworking
,提示Unable to find a pod with name, author, summary, or description matching AFNetworking
OK,再尝试下 pod list
返回 0 pods were found
心里拔凉拔凉的的,这™什么鬼.难道我们的repos文件下是空的,没有东西吗? 果断去查看下: 指令 ~/.cocoapods
,尼玛,找不到文件???????????????????
我的文件呢?懵逼了,居然cocoapods文件夹都没有创建....;
好吧,沉住气,自己创建一个,然后去手动下载,指令 git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master
然后是漫长的等待.....
报错解决
如果你也很不幸,在这里出问题了,或者不想等几个小时,就直接用我的master包吧,操作如下:
下载master包,解压出来,就是一个master文件夹;
前往目录:
~/.cocoapods
,找到repos文件夹,清空文件夹里面的内容,然后把master拷贝进去;终端测试一下:
pod search AFNetworking
完美运行;
报错:
RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
,注意是60错误码:
解决办法:
最方便的就是上面的方法,当然,master找你的小伙伴搞一个最新的.
或者可以 终端
cd ~/.cocoapods/repos
进入到repos,然后git clone https://github.com/CocoaPods/Specs.git
,但是过程太漫长了~~~~
这里还一个问题:RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
报错, 是的,又是54,尝试指令 ping github.com
,是通的,呀,网没问题啊,于是我有再次尝试了下指令 git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master
它接着下载了,坑,如果还出现,可以尝试多执行几次,然后还一个建议,就是,不要让电脑进入了休眠状态;
在下载的过程中,也可以去查看下载的进度,包的总大小是190M左右
查看指令 先 cd ~/.cocoapods
进入到pods ,然后指令 du -sh *
查看下载的进度;
指令 du -sh *
可多次执行
工程中的Podfile创建
安装好了之后,xcode创建一个工程,然后终端 cd /Users/lepu/Desktop/DEMO/Health_new
这里的目录是我自己的项目的目录,替换下就可以,
然后终端输入 vim Podfile
创建一个Podfile文件
按 i
进入编辑状态,以安装AF为例,然后输入如下代码
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
inhibit_all_warnings!
target 'Health_new_0528' do
pod 'AFNetworking'
end
解释:
source 指明依赖库的来源地址;
platform :ios, '10.0' 是说明版本
inhibit_all_warnings! 这个是忽略第三方库中的警告,可以不要,强迫症可以添加上,爽歪歪
pod 'AFNetworking' 后面没添加版本号,则默认最新版
end 结束
然后按 ESC退出编辑 ,按:wq
保存退出,然后输入 pod install
等待即可,完成后通过.xcworkspace
文件打开工程即可;
报错:
如果 pod install
报错 CDN: trunk Repo update failed - 60 error(s)
其实就是没有指明依赖库 ,添加上即可;
一些可能会用到的指令
进入文本编辑,直接按
i
;
退出编辑,按ESC
;
保存退出,按:wq
;
cocoapods卸载,输入sudo gem uninstall cocoapods
;
ruby默认版本设置:rvm use 2.6.3 --default
(因为我这里安装的就是 2.6.3) Mac系统是自带了ruby的,rvm是对ruby的版本的管理工具;
删除repo中的masterpod repo remove master
;
查看pod中的repo内容pod repo list
懒人cocoapos可视化界面
对于真的很懒不想敲终端的小伙伴,可以使用cocoapos的可视化app:下载地址
使用方法:
- 第一种情况:如果工程中没有
Podfile文件
如图:
然后去找到要添加第三方的工程,点击 工程名.xcodeproj
文件,进入如下界面:
然后点击右上角install
完成,然后去工程中打开工程名.xcworkspace
使用.
- 第二种情况,是有
Podfile文件
的,如图操作:
然后打开你要添加第三方的Podfile文件
,后面流程一样样了!