centos git clone github上的源码报错

最近需要使用ngrok,于是打算自己编译一个,想起还有一个vps闲置了三年了,正好排上用场了。因为是好多年前买的,系统装的是centos 6.5.

于是直接ssh连接上去,一顿操作,可是当我git clone的时候却提示我没权限,类似于这种报错。

/src/github.com/lib/pq/.git/
error: while accessing https://github.com/lib/pq/info/refs
fatal: HTTP request failed

以前从没遇到这种错误,开始我想的是,会不会是现在github升级了协议,现在clone源码需要登录啊。于是我先登陆了github,fork了一份源码,然后在vps上生成了密钥,并且将公钥上传到github了。然后我再git clone自己的源码,确实成功了。可是最后make的时候,还是报错了,原来Makefile里面又去请求了另一个github的地址。。这时候我就蒙蔽了,难道要我把这个地址也fork一遍,再把makefile文件改一下?

可是我这样做了以后,仍然报了没权限的错误,后来上网查了好久,才发现原来是因为centos6自带的git版本太低了,才1.7.1,于是卸载掉从仓库里安装的git,自己去下载最新版的git源码安装,最后问题解决。
简单说一下安装git的过程

1)安装依赖:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc

yum install  gcc

2) 卸载原来旧版本

 yum remove git

3) 安装最新版本  可在https://mirrors.edge.kernel.org/pub/software/scm/git/上面获取最新git版本

cd /usr/local/src/

wget https://mirrors.edge.kernel.org/pub/software/ scm/git/git-2.19.2.tar.xz

tar -vxf git-2.19.2.tar.xz

make prefix=/usr/local/git all

make prefix=/usr/local/git install

echo “export PATH=$PATH:/usr/local/git/bin” >> /etc/profile

source /etc/profile

PS:如果是老版本的centos,手动编译git时 libiconv可能会报错,之前我编译2.9版本的git时没报错,编译2.19报错了,这个时候就需要自己先去编译安装下liboconv,并且记得建立软链接, 
然后编译git时记得加上
--with-iconv=/usr/local/libiconv
具体过程不赘述了。

One thought on “centos git clone github上的源码报错

  1. 升级完git又遇到坑了,git clone的时候报错了 。
    fatal: unable to access ‘https://github.com/xianjian10/ngrok.git/’: SSL connect error
    解决办法:升级完git版本后需要
    yum update -y nss curl libcurl

Comments are closed.