安裝2
software & update
選擇其它?
安裝
一、前提準備
-
檢查操作系統版本:
- 確保你的系統版本是Ubuntu 24.04。你可以通過運行
lsb_release -a
命令來檢查當前的系統版本。
- 確保你的系統版本是Ubuntu 24.04。你可以通過運行
-
設置UTF-8支持:
- ROS 2需要UTF-8編碼支持。你可以通過以下命令來檢查和設置UTF-8編碼:
locale sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 locale # 驗證配置
-
啟用Universe存儲庫:
- Ubuntu 24.04通常會默認啟用Universe存儲庫,但你可以通過以下命令來確認并啟用它:
sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update
二、安裝ROS 2 Jazzy
-
安裝所需依賴:
- 運行以下命令來安裝curl、gnupg和lsb-release等依賴包:
sudo apt install curl gnupg lsb-release -y
-
設置ROS 2軟件源:
- 下載ROS 2的GPG密鑰并添加到系統中,下載軟件源的秘鑰:
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
- 將ROS 2的軟件源添加到系統的源列表中:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list >/dev/null
-
更新并安裝ROS 2 Jazzy:
- 更新系統的apt存儲庫信息:
sudo apt update
- 根據需要選擇安裝不同的ROS 2版本:
- ros-jazzy-desktop-full:完整安裝,包括所有開發工具和圖形界面。
- ros-jazzy-desktop:較為簡化的桌面版本,適合大多數桌面開發。
- ros-jazzy-ros-base:基本的安裝版本,只包含核心功能,適合基礎開發。
- 例如,安裝桌面版本:
sudo apt install ros-jazzy-desktop -y
三、配置環境變量
- 每次打開終端時,都需要設置ROS 2的環境變量。你可以通過以下命令手動設置:
source /opt/ros/jazzy/setup.bash
- 為了避免每次都要手動設置,可以將此命令添加到
~/.bashrc
文件中:
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc
四、安裝其他開發工具(可選)
- 更新系統并安裝開發工具:
sudo apt update && sudo apt install ros-dev-tools
- 安裝自動補全功能:
sudo apt install python3-argcomplete
- 安裝colcon和pip:
sudo apt install python3-pip python3-colcon-common-extensions
五、測試ROS 2安裝
-
運行ROS 2示例程序:
- 打開一個新的終端,設置環境變量并運行一個C++發布者節點(talker):
source /opt/ros/jazzy/setup.bash ros2 run demo_nodes_cpp talker
- 打開另一個新的終端,設置環境變量并運行一個Python訂閱者節點(listener):
source /opt/ros/jazzy/setup.bash ros2 run demo_nodes_py listener
- 如果talker節點不斷發布消息,并且listener節點能夠顯示接收到的消息,則說明ROS 2安裝成功。
問題
E: 軟件源 http://packages.ros.org/ros2/ubuntu/ noble 的選項 Signed-By 中含有互相沖突的值:/usr/share/keyrings/ros-archive-keyring.gpg != -----BEGIN PGP PUBLIC KEY BLOCK-----
sudo rm? /etc/apt/sources.list.d/ros2.list
sudo rm /etc/apt/sources.list.d/ros2.list.save
sudo rm? /etc/apt/sources.list.d/ros2.sources?
sudo rm /usr/share/keyrings/ros-archive-keyring.gpg
登錄www.ipaddress.com
https://www.ipaddress.com/
往下滾動,查看ip地址
域名和ip地址的映射
sudo vim /etc/hosts
添加以下?
185.199.108.133?raw.githubusercontent.com
gpg?Ubuntu 22.04 ros2 humble installing error GPG, libc-bin - ROS Answers archive
sudo apt install ros-jazzy-desktop
下列軟件包有未滿足的依賴關系:
?libbz2-dev : 依賴: libbz2-1.0 (= 1.0.8-5.1) 但是 1.0.8-5.1build0.1 正要被安裝
? ? ? ? ? ? ? 推薦: bzip2-doc 但是它將不會被安裝
?libdbus-1-dev : 依賴: libdbus-1-3 (= 1.14.10-4ubuntu4) 但是 1.14.10-4ubuntu4.1 正要被安裝
?libdeflate-dev : 依賴: libdeflate0 (= 1.19-1build1) 但是 1.19-1build1.1 正要被安裝
?libdrm-dev : 依賴: libdrm2 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安裝
? ? ? ? ? ? ? 依賴: libdrm-intel1 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安裝
? ? ? ? ? ? ? 依賴: libdrm-radeon1 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安裝
? ? ? ? ? ? ? 依賴: libdrm-nouveau2 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安裝
? ? ? ? ? ? ? 依賴: libdrm-amdgpu1 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安裝
?libgbm-dev : 依賴: libgbm1 (= 24.0.5-1ubuntu1) 但是 24.2.8-1ubuntu1~24.04.1 正要被安裝
?libicu-dev : 依賴: libicu74 (= 74.2-1ubuntu3) 但是 74.2-1ubuntu3.1 正要被安裝
?liblz4-dev : 依賴: liblz4-1 (= 1.9.4-1build1) 但是 1.9.4-1build1.1 正要被安裝
?libmount-dev : 依賴: libblkid-dev 但是它將不會被安裝
? ? ? ? ? ? ? ? 依賴: libmount1 (= 2.39.3-9ubuntu6) 但是 2.39.3-9ubuntu6.2 正要被安裝
?libnl-3-dev : 依賴: libnl-3-200 (= 3.7.0-0.3build1) 但是 3.7.0-0.3build1.1 正要被安裝
?libnl-route-3-dev : 依賴: libnl-route-3-200 (= 3.7.0-0.3build1) 但是 3.7.0-0.3build1.1 正要被安裝
?libpcre2-dev : 依賴: libpcre2-8-0 (= 10.42-4ubuntu2) 但是 10.42-4ubuntu2.1 正要被安裝
? ? ? ? ? ? ? ? 依賴: libpcre2-16-0 (= 10.42-4ubuntu2) 但是 10.42-4ubuntu2.1 正要被安裝
? ? ? ? ? ? ? ? 依賴: libpcre2-32-0 (= 10.42-4ubuntu2) 但是 10.42-4ubuntu2.1 正要被安裝
?libpulse-dev : 依賴: libpulse0 (= 1:16.1+dfsg1-2ubuntu10) 但是 1:16.1+dfsg1-2ubuntu10.1 正要被安裝
? ? ? ? ? ? ? ? 依賴: libpulse-mainloop-glib0 (= 1:16.1+dfsg1-2ubuntu10) 但是 1:16.1+dfsg1-2ubuntu10.1 正要被安裝
?libselinux1-dev : 依賴: libselinux1 (= 3.5-2ubuntu2) 但是 3.5-2ubuntu2.1 正要被安裝
?libxft-dev : 依賴: libfontconfig1-dev
?libzstd-dev : 依賴: libzstd1 (= 1.5.5+dfsg2-2build1) 但是 1.5.5+dfsg2-2build1.1 正要被安裝
?python3-dev : 依賴: python3 (= 3.12.3-0ubuntu1) 但是 3.12.3-0ubuntu2 正要被安裝
?ros-jazzy-demo-nodes-cpp-native : 依賴: ros-jazzy-rmw-fastrtps-cpp 但無法安裝它
?ros-jazzy-rcl : 依賴: ros-jazzy-tracetools 但無法安裝它
?ros-jazzy-rcl-lifecycle : 依賴: ros-jazzy-tracetools 但無法安裝它
?ros-jazzy-rclcpp : 依賴: ros-jazzy-tracetools 但無法安裝它
?ros-jazzy-rmw-implementation : 依賴: ros-jazzy-rmw-fastrtps-cpp 但無法安裝它 或
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ros-jazzy-rmw-cyclonedds-cpp 但無法安裝它 或
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ros-jazzy-rmw-connextdds 但無法安裝它
?zlib1g-dev : 依賴: zlib1g (= 1:1.3.dfsg-3.1ubuntu2) 但是 1:1.3.dfsg-3.1ubuntu2.1 正要被安裝
E: 無法修正錯誤,因為您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關系。
sudo apt install aptitude
sudo aptitude install ros-jazzy-desktop
交互操作說明:
- 首次提示 “是否接受當前解決方案(不安裝)” 時,輸入
n
(不接受)。 - 后續會顯示降級沖突包的方案(如 “降級 libbz2-1.0 從 1.0.8-5.1build0.1 到 1.0.8-5.1”),輸入
y
(接受)。 - 全程按提示選擇 “降級” 相關選項,直到開始安裝。
參考
官方教程
Ubuntu (deb packages) — ROS 2 Documentation: Jazzy documentationhttps://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html#system-setup
Ubuntu24.04 + ROS2 Jazzy + Gazebo Harmonic安裝教程_ubuntu24.04安裝gazebo-CSDN博客文章瀏覽閱讀3.9k次,點贊27次,收藏28次。2025.2.13自用。Ubuntu安裝見上篇。目前已無須修改為清華鏡像源。如有任何問題,本文在國內親測,不是鏡像源的原因。_ubuntu24.04安裝gazebohttps://blog.csdn.net/qq_48187848/article/details/145621442?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ECtr-7-145621442-blog-141285787.235%5Ev43%5Epc_blog_bottom_relevance_base6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ECtr-7-145621442-blog-141285787.235%5Ev43%5Epc_blog_bottom_relevance_base6&utm_relevant_index=8
如何在ubuntu24.04安裝jazzy | 魚香ROS