在您的Ubuntu 18.04系统上安装ROS 2时遇到的404 Not Found错误表明指定的软件包在配置的仓库中不存在或已被移除。这通常是因为您尝试安装的ROS 2版本(在这个例子中是Dashing)已经不再被官方维护或更新,或者您使用的镜像源(在这个案例中是华为云的ROS 2仓库)中不包含该版本的包。
为了解决这个问题,您可以尝试以下几个步骤:
更换ROS 2版本:
考虑到Dashing版本可能已经不再被支持,您可以尝试安装一个更新的ROS 2版本,如Eloquent或Foxy。这些版本通常会在官方源中找到,并且更有可能得到社区的广泛支持。
更换软件源:
如果您想坚持使用Dashing版本,尝试更换到一个包含该版本包的ROS 2源。例如,您可以使用官方的ROS 2仓库而不是华为云的。
手动安装:
如果以上方法都不可行,您可能需要考虑从源代码手动编译ROS 2。这通常更复杂,但允许您安装任何版本的ROS 2,只要您能找到其源代码。
更换ROS 2版本安装步骤
这里是一个简化的安装ROS 2 Foxy版本的步骤(以Ubuntu 18.04为例):
设置ROS 2仓库:
sudo apt update && sudo apt install -y curl wget
sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
sudo apt install -y software-properties-common
sudo add-apt-repository universe
sudo apt update
安装ROS 2:
sudo apt install -y ros-foxy-desktop
sudo apt install -y python3-rosdep python3-rosinstall python3-vcstools
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -r -y
环境设置:
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
source ~/.bashrc
验证安装:
ros2 run demo_nodes_cpp talker
在另一个终端中:
ros2 run demo_nodes_py listener
确保在执行这些步骤时替换为您想要安装的ROS 2版本(如Foxy、Eloquent等)。如果您选择从源代码编译,那么过程将更加复杂,需要克隆ROS 2的仓库,并遵循其文档中的构建说明。
以上为生成回答,仅供参考~