在配置环境过程中运行rosdep update等更新命令出现连接超时的解决方案

在配置环境过程中运行rosdep update等更新命令出现连接超时的解决方案

因为国内“墙”的缘故,经常出现运行更新命令(通常会先到目标网址下载最新内容)时连接超时的情形,现记录一些常用的解决办法

  1. 修改DNS

    • 查找目标资源网址的公网IP:MyIPAdress

    • 编辑DNS配置文件配置静态IP:

      sudo gedit /etc/hosts
      

      一般此时已经能够ping通目标网址,但仍有无效的情况,考虑使用后两种办法

  2. 修改更新命令中的目标资源网址(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
      
  3. 手动下载到本地再修改目标资源网址

    • 通过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更新参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值