@[TOC]git clone
git clone 报错 unable to access
需要克隆Slamtec的rplidar的ROS节点到机器人工作空间。首先创建一个ROS工作空间。命令行为:
$ mkdir -p ~/robot_ws/src
$ cd ~/robot_ws/
$ catkin_make
在工作空间的src路径下执行以下命令行:
$ git clone https://github.com/robopeak/rplidar_ros.git
Cloning into 'rplidar_ros'...
fatal:unable to access 'https://github.com/robopeak/rplidar_ros.git/' : gnults_handshake() failed: Error in the pull function.
本人完全是一枚linux操作系统和ros操作系统方面的小白,在搜索了该问题的解决方法后,发现有很多种解决方法。 根据其他的博客介绍,其错误原因是: git使用了libcurl4-gnutls-dev,而在ubuntu18中该库作出了修改,导致git无法使用SSL进行连接。 备注:libcurl4-gnutls-dev中的l是字母l,而不是数字1。 使用libcurl4-gnutls-dev替换gnutls对git进行编译。命令行如下:(备注:在根目录下写入命令行)
sudo apt-get update
sudo apt-get install build-essential fakeroot dpkg-dev libcurl4-openssl-dev
sudo apt-get build-dep git
mkdir ~/git-openssl
cd ~/git-openssl
apt-get source git
cd git-2.17.1/
接着将debian文件夹下control文件中的libcurl4-gnutls-dev 修改为 libcurl4-openssl-dev(只有一处),打开control文件的命令行:
sudo nano debian/control
然后再将debian文件夹下rules文件中"TEST=test"一行删除,可在这一行之前加#。如下图所示。
最后执行以下安装编译功能包,命令行如下:
sudo dpkg-buildpackage -rfakeroot -b -uc -us
sudo dpkg -i ../git_2.17.1-1ubuntu0.9_amd64.deb
大多数博客或技术资料介绍到这里,就可以克隆成功了。 我还是不能克隆。最后发现Ubuntu下的firefox不能连接网络。通过修改/etc/hosts中的ip地址设置,最终克隆成功。方法如下: 系统:ubuntu LTS 18.0.4
1.打开终端命令行,输入命令:sudo gedit /etc/hosts
即打开hosts文件,修改里面的内容如下
127.0.0.1 localhost 127.0.1.1 intasect-HP-Desktop-Pro-G2-MT #这是用户名,不同的电脑显示不一样 xxx.xxx.xxx.xxx github.com git 13.250.177.223 github.com
github.com
192.30.253.112 github.com 192.30.253.119 gist.github.com 151.101.100.133 assets-cdn.github.com 151.101.100.133 raw.githubusercontent.com 151.101.100.133 gist.githubusercontent.com 151.101.100.133 cloud.githubusercontent.com 151.101.100.133 camo.githubusercontent.com 151.101.100.133 avatars0.githubusercontent.com 151.101.100.133 avatars1.githubusercontent.com 151.101.100.133 avatars2.githubusercontent.com 151.101.100.133 avatars3.githubusercontent.com 151.101.100.133 avatars4.githubusercontent.com 151.101.100.133 avatars5.githubusercontent.com 151.101.100.133 avatars6.githubusercontent.com 151.101.100.133 avatars7.githubusercontent.com 151.101.100.133 avatars8.githubusercontent.com 185.199.108.153 assets-cdn.github.com 185.199.109.153 assets-cdn.github.com 185.199.110.153 assets-cdn.github.com 185.199.111.153 assets-cdn.github.com 151.101.113.194 github.global.ssl.fastly.net
The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
有的同学虽然加入了github的相关ip信息,却还是无法访问,这是因为ubuntu系统的安全性问题,还需要在 127.0.0.1 localhost 后面追加
xxx.xxx.xxx.xxx github.com git 13.250.177.223 github.com
这两个才行。
解释一下啊,上面的xxx.xxx.xxx.xxx 是本机的ipv4地址,查询本机IPV4地址可以在终端输入:
sudo ipconfig -a
13.250.177.223 是利用站长工具,获取的github数据库的ipv4地址。
|