ROS知识:安装rosdep中出现time out的问题
說明
本文是《?ROS知識 【6】Ubuntu20.04下ROS安裝》一文中的附加內容。是在安裝ros依賴管理工具rosdep出現的超時問題的解決方案。
rosdep是非常重要的ros部件,如果缺乏,將無法自動獲取依賴,常表現為catkin_make編譯不過。然而國內用戶通常在 sudo rosdep init和rosdep update出現time out而無法安裝。通過修改hosts文件解決rosdep update超時問題的方法已經不太好用,
1 關于github代理
本文通過修改rosdep源碼中下載資源的函數來解決這一問題。【?法? GitHub Proxy 代理加速 】
說明:https://ghproxy.com是個代理網站,凡是對github等訪問障礙的語句,都可以外掛代理解決速度問題。支持終端命令行 git clone , wget , curl 等工具下載
?網站https://ghproxy.com/支持github的資源代理,非常好用,我們將用此代理加速rosdep對Github Raw的訪問,可以解決rosdep update超時問題。
2 首先定位rosdep資源下載函數。
從報錯信息中查找線索,錯誤為download_rosdep_data處,位于/usr/lib/python3/dist-packages/rosdep2/sources_list.py腳本。我們修改這一函數,添加:
url="https://ghproxy.com/"+url
應用ghproxy的代理服務。
3? 修改__init__.py
用同樣的方法修改/usr/lib/python3/dist-packages/rosdistro/__init__.py里面的DEFAULT_INDEX_URL。
即將DEFAULT_INDEX_URL 進行如下替換:
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
4 修改下面5個腳本文件
通過在地址前添加https://ghproxy.com/前綴來應用代理服務,下述文件中凡含有github地址,都做相應修改,分別是:
/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py???? 36行
/usr/lib/python3/dist-packages/rosdep2/sources_list.py?? 72行
/usr/lib/python3/dist-packages/rosdep2/rep3.py?? ? 39行
/usr/lib/python3/dist-packages/rosdistro/manifest_provider/github.py? 68行 119行
對文件/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py修改:
/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py 第204行添加:
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
再次嘗試執行rosdep update,問題解決。
參考文章:
解決ROS系統 rosdep update超時問題的新方法_leida_wt的博客-CSDN博客_rosdep update 超時
總結
以上是生活随笔為你收集整理的ROS知识:安装rosdep中出现time out的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS知识【7】:ubuntu环境如何卸
- 下一篇: ubuntu笔记:查看Ubuntu的包依