一、问题描述

早上在学习《Spark快速大数据分析》的时候,需要下载书本的实例代码,于是用git clone一下给出的库:

  1. https://github.com/databricks/learning-spark.git

结果,并不能成功克隆,最后的错误输出信息是“git https fatal: HTTP request failed”。

二、解决过程

上网找了一下,一种方案是用git:或者ssh:代替https:,譬如github官网给出的方案:https://help.github.com/articles/using-ssh-over-the-https-port/,按照这个去做而且成功了,然而并没什么卵用,出现了“Error: Permission denied (publickey)”,还是无法克隆。且罢。

于是还是继续用https链接,了解到原来git使用curl作为它的https传输客户端,需要设置一个环境变量:

  1. export GIT_CURL_VERBOSE=1
  1. https://github.com/databricks/learning-spark.git

还是有报错,首先是ping不通github.com,上网搜了一下可以设置为另一个地址:192.30.253.113,可以ping通,于是在/etc/hosts文件加上:

  1. 192.30.253.113 github.com

还有就是证书问题,设置一下:

  1. git config --global http.sslverify true
  2. git config --global http.sslCAPath /etc/pki/tls/certs

重新操作还是报错,这次是“failed to load from … CURLOPT_CAPATH”以及“NSS error -12286”,猜测是curl的配置问题。

最后通过一篇文章了解到应该是cipher的问题,https://bugs.centos.org/view.php?id=5620,其中有评论说到:

Yes there is and this is not a bug, it's just that in the latest version curl doesn't have RC4-SHA enabled by defaul.

按照里面说的方法测试了一下:

  1. curl --cipher rsa_rc4_128_sha https://github.com/databricks/learning-spark.git

然后。。。表示没有这种cipher,最后提示“curl: (35) SSL connect error”,通过这个信息,找到另外一篇博文,说需要先升级nss:

  1. yum update nss

升级完之后,重新克隆目标库,终于搞定!!!

三、参考

1. git and HTTPS (fatal: HTTP request failed)

2. Using SSH over the HTTPS port

3. curl: (35) SSL connect error的解决方法

(完)

解决git无法clone地址为https的库的更多相关文章

  1. 解决git无法clone提示443以及配置git代理方法

    git config --global http.proxy 'socks5://127.0.0.1:1080' 设置完成之后再次clone就会成功了(当然前提是你有s's而且在开启的前提下)

  2. 解决git clone慢问题

    解决git clone慢 关于Git克隆或是上传代码龟速的问题真是让人很恼火,这里对于网上的两种解决方案进行摘录. 利用码云克隆github项目 亲测有效 进入码云,新建一个仓库: 在创建的最后选择导 ...

  3. 小飞机可以解决git clone没有返回的问题吗?

    [1]Linux如何使用小飞机? 以ss为例,先下载客户端: https://www.mediafire.com/folder/xag0zy318a5tt/Linux 下载客户端以后,右键把权限中&q ...

  4. 使用Bandwagon服务器ftp解决git clone速度慢的问题

    写在前面 git clone速度往往很慢,我们可以先在身处美国的服务器上git clone,然后把文件用ftp传回来即可. 开始 我们以opencv为例 git clone https://githu ...

  5. 我的Git教程 之 解决 git clone后无代码

    解决 git clone 后无代码 前言:这个教程只适用于像我一样大致理解Git的原理,但是不太记得住Git命令的同学使用.所以具体原理只会提一下,具体可以参见Pro Git. 在另一篇 简明的教程  ...

  6. 修改Git远程地址 git config remote.origin.url "https://..."

    仓库管理: 添加或指定远程仓库地址 git remote set-url origin "https://..." git config remote.origin.url &qu ...

  7. 使用git svn clone迁移svn仓库

    使用git svn clone迁移svn仓库 clone命令可以指定很多参数,主要用到这些,你也可以使用git svn help查看完整的参数列表. git svn clone https://172 ...

  8. 使用git svn clone迁移svn仓库(保留提交记录)

    使用git svn clone迁移svn仓库 clone命令可以指定很多参数,主要用到这些,你也可以使用git svn help查看完整的参数列表. git svn clone https://172 ...

  9. 解决git报错:error: RPC failed; curl 18 transfer closed with outstanding read data remaining 的方法

    报错信息: error: RPC failed; curl 18 transfer closed with outstanding read data remainingfatal: the remo ...

随机推荐

  1. http请求发生了两次(options请求)

    前言 自后台restful接口流行开来,请求了两次的情况(options请求)越来越普遍.笔者也在实际的项目中遇到过这种情况,做一下整理总结. 文章书写思路: 为什么发生两次请求 http的请求方式, ...

  2. 数据双向绑定页面无反应(angularjs)

    问题引入 使用 angularjs进行过一段时间的开发后,基本上都会遇到一个这样的坑:页面进行了双向数据绑定,控制层的数据也已经改变了,但是视图层的数据却没有改变. 其实造成这个问题的原因大致分为以下 ...

  3. mysql索引相关理解

    1.索引是高效获取数据的数据结构, 2.唯一索引,索引值不重复unique create unique index 索引名 on 表名(字段) alter table 表名 add unique in ...

  4. Sentinel限流示例:编码和注解限流

    一.Sentinel 是什么? 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性. Sentine ...

  5. Windows2012使用笔记

    一.介绍 win 2012的名字于北京时间2012年4月18日公布,全称Windows Server 2012(下面简称win 2012),正式版于2012年9月4日发布.这是一套基于Windows ...

  6. css响应式设计

    响应式设计是指在不同分辨率的设备中,网页布局可以自适应的调整.这种弹性化的布局使网站在不同设备中的布局都比较合理,可以为不同终端的用户提供更加舒适的界面和更好的用户体验,其根本理念是使原本 PC 上的 ...

  7. css3的transition属性的使用

    transition是将某个属性从一个属性值在指定的时间内平滑过渡到另一个属性值来实现动画效果.这个属性一般搭配:hover来使 下面看一个例子:鼠标放在div上,0.2s后将div元素的背景色用一秒 ...

  8. da分布式算法

    参考学习<数字信号处理的FPGA实现> 思想如图: 在下半部分可以看到:是将N阶的数B bit,一位一位的移入LUT然后经过累加器.其中N个数需要2.^N次方长度的LUT,B bit表示需 ...

  9. 升级phpcms的ckeditor编辑器

    首先说明一下为什么升级?网上很多人升级成了ueditor,可从fckedotror 到 ckeditor,我个人都是比较喜欢的,特别是开放式的插件方式.另外一个就是至少要懂得升级和插件的开发,这样也能 ...

  10. module解析过程

    加载一个核心模块时 直接require('模块名')即可 加载一个文件模块时 直接require('绝对路径/相对路径')即可,可省略文件后缀.js. 因为如果文件不存在,将试图找文件名.js的文件 ...