解決ROS系統 rosdep update超時問題的新方法


由於近期國內Github Raw的可用IP越來越少,通過修改hosts文件解決rosdep update超時問題的方法已經不太好用,本文通過修改rosdep源碼中下載資源的函數來解決這一問題。
網站https://ghproxy.com/支持github的資源代理,非常好用,我們將用此代理加速rosdep對Github Raw的訪問,進而解決rosdep update超時問題。
首先定位rosdep資源下載函數。從報錯信息中得知,該函數名為download_rosdep_data,位於/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py。我們修改這一函數,添加:

url="https://ghproxy.com/"+url

應用ghproxy的代理服務。

用同樣的方法修改/usr/lib/python2.7/dist-packages/rosdistro/__init__.py里面的DEFAULT_INDEX_URL(感謝評論區@p4227117的補充)。
即將DEFAULT_INDEX_URL 進行如下替換:

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

除此處外,下述文件中也含有github地址,分別是:

/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 36行
/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 72行
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py 39行
/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 68行 119行

均可通過在地址前添加https://ghproxy.com/前綴來應用代理服務。

再次嘗試執行rosdep update,問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM