今天pod search 一个库时发现搜索到的版本比github上的最新版本旧,于是采用下面的命令更新Cocoapods的库
pod repo update master –verbose
执行后却报了下面的错误:
Updating spec repo master
[!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
这是为何呢,明明不久前刚刚更新Cocoapods为1.3.1版本啊。
搜索才发现是Github在不久之前的2018年2月23号移除了一些低加密标准协议,包括TLSv1/TLSv1.1,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,相关链接在这里:Weak cryptographic standards removed
这就意味着Mac系统对应的openssl也需要更新。
这里提供了全套升级办法,搬运过来:
$ which openssl
/usr/bin/openssl
$ openssl version
OpenSSL 0.9.8zh 14 Jan 2016
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
$ brew update
$ brew install openssl
$ brew upgrade openssl
“ If you need to have this software first in your PATH run: echo ‘export PATH=”/usr/local/opt/openssl/bin:$PATH”’ >> ~/.bash_profile
echo′exportPATH="/usr/local/opt/openssl/bin:
e
c
h
o
′
e
x
p
o
r
t
P
A
T
H
="
/
u
s
r
/
l
o
c
a
l
/
o
p
t
/
o
p
e
n
s
s
l
/
b
i
n
:
PATH”’ >> ~/.bash_profile
$ source ~/.bash_profile
$ which openssl
/usr/local/opt/openssl/bin/openssl
$ openssl version
OpenSSL 1.0.2n 7 Dec 2017
$ brew install rbenv ruby-build
echo′exportPATH=" e c h o ′ e x p o r t P A T H =" HOME/.rbenv/bin: PATH”′>> /.bashprofile P A T H ” ′ >> / . b a s h p r o f i l e echo 'if which rbenv > /dev/null; then eval " (rbenvinit−)”;fi′>> /.bashprofile ( r b e n v i n i t − ) ” ; f i ′ >> / . b a s h p r o f i l e source ~/.bash_profile
$ rbenv install –list
Available versions:
1.8.5-p52
1.8.5-p113
1.8.5-p114
1.8.5-p115
1.8.5-p231
1.8.6
:
2.1.0
2.1.1
2.1.2
:
$ rbenv install 2.1.0
$ rbenv versions
* system (set by /Users/username/.rbenv/version)
2.1.0
$ ruby –version
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
$ rbenv global 2.1.0
$ rbenv versions
system
* 2.1.0 (set by /Users/username/.rbenv/version)
$ ruby –version
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin16.0]
$ gem install cocoapods -n /usr/local/bin
$ which pod
/usr/local/bin/pod
$ pod –version
1.4.0
完成上面一系列操作后,Cocoapods将会升级到最新的1.4.0版本。再执行pod repo update master –verbose就没有问题了。