ubuntu24 ros2 jazzy
安装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