在配置环境过程中运行rosdep update
等更新命令出现连接超时的解决方案
因为国内“墙”的缘故,经常出现运行更新命令(通常会先到目标网址下载最新内容)时连接超时的情形,现记录一些常用的解决办法
-
修改DNS
-
查找目标资源网址的公网IP:MyIPAdress
-
编辑DNS配置文件配置静态IP:
sudo gedit /etc/hosts
一般此时已经能够ping通目标网址,但仍有无效的情况,考虑使用后两种办法
-
-
修改更新命令中的目标资源网址(以
rosdep update
为例)-
查找需要修改的命令
sudo find / -name rep3.py
-
修改目标资源网址宏至代理网址
# /usr/lib/python3/dist-packages/rosdep2/rep3.py # REP3_TARGETS_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml' REP3_TARGETS_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml' # /usr/lib/python3/dist-packages/rosdistro/__init__.py # DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml' DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
-
修改总的源配置:
/etc/ros/rosdep/sources.list.d/20-default.list
# os-specific listings first yaml https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx # generic yaml https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml yaml https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml yaml https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml gbpdistro https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte # newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
-
-
手动下载到本地再修改目标资源网址
-
通过
git clone
或直接网页访问github.com
下载需要的资源 -
修改目标资源网址宏至本地路径
# /usr/lib/python3/dist-packages/rosdep2/rep3.py # REP3_TARGETS_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml' REP3_TARGETS_URL = REP3_TARGETS_URL = 'file:///home/steven/rosdistro/releases/targets.yaml' # /usr/lib/python3/dist-packages/rosdistro/__init__.py # DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml' DEFAULT_INDEX_URL = DEFAULT_INDEX_URL = 'file:///home/steven/rosdistro/index-v4.yaml'
-
修改总的源配置:
/etc/ros/rosdep/sources.list.d/20-default.list
# os-specific listings first yaml file:///home/steven/rosdistro/rosdep/osx-homebrew.yaml osx # generic yaml file:///home/steven/rosdistro/rosdep/base.yaml yaml file:///home/steven/rosdistro/rosdep/python.yaml yaml file:///home/steven/rosdistro/rosdep/ruby.yaml gbpdistro file:///home/steven/rosdistro/releases/fuerte.yaml fuerte # newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
另外通过
git clone
更新参考
-