日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

在 ubuntu 20.04 LTS 上安装 ROS2 执行 rosdep update 命令时出现的问题的解决办法

發布時間:2025/3/13 Ubuntu 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 ubuntu 20.04 LTS 上安装 ROS2 执行 rosdep update 命令时出现的问题的解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在 ubuntu 20.04 LTS 上安裝 ROS2 執行 rosdep update 命令時出現的問題的解決辦法

1、sudo rosdep init

在執行 sudo rosdep init 命令的時候,會出現如下錯誤:

  • Certificate verification failed: The certificate is NOT trusted.

解決辦法:安裝 ca-certificates

apt install ca-certificates
  • 無法訪問 raw.githubusercontent.com

ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.

該命令的作用是從目標網址中下載 20-default.list 文件。

第一種方法,使用手機熱點,重新輸入命令:sudo rosdep init

第二種方法:

  • 建立一個文件夾
/etc/ros/rosdep/sources.list.d
  • 然后寫入文件
sudo gedit 20-default.list

將下面的內容復制到創建的文件中:

# os-specific listings first yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx# generic yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml gbpdistro 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

保存完畢,執行 rosdep update 命令。

具體的可以參考 古月居 的文章。

2、rosdep update

由于近期國內 Github Raw 的可用 IP 越來越少,通過修改 hosts 文件解決 rosdep update 超時問題的方法已經不太好用,本文通過修改 rosdep 源碼中下載資源的函數來解決這一問題。

網站 https://ghproxy.com/ 支持 github 的資源代理,非常好用,我們將用此代理加速rosdep 對 Github Raw 的訪問,進而解決 rosdep update 超時問題。

首先定位 rosdep 資源下載函數。從報錯信息中得知,該函數名為download_rosdep_data,位于 /usr/lib/python3/dist-packages/rosdep2/sources_list.py。我們修改這一函數,添加:

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

應用 ghproxy 的代理服務。

用同樣的方法修改 /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'

除此處外,下述文件中也含有 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 # 204 行下面添加 gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
  • /usr/lib/python3/dist-packages/rosdep2/sources_list.py
  • /usr/lib/python3/dist-packages/rosdep2/rep3.py
  • /usr/lib/python3/dist-packages/rosdistro/manifest_provider/github.py
  • /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py

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

完成以上更改之后,再次嘗試執行 rosdep update。

第二種方法:

修改 /etc/ros/rosdep/sources.list.d/20-default.list 文件:
在所有 https://raw.githubusercontent.com 前加上 https://ghproxy.com/,如下所示:

# 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

修改 /usr/lib/python3/dist-packages/rosdistro/__init__.py 文件:
在 DEFAULT_INDEX_URL 前面加上 https://ghproxy.com/,修改完成如下所示:

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

總結

以上是生活随笔為你收集整理的在 ubuntu 20.04 LTS 上安装 ROS2 执行 rosdep update 命令时出现的问题的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。