passwd
sudo sh -c 'cat > /etc/apt/sources.list << EOF deb https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse EOF'
sudo apt update sudo apt install nano -y
nano install_ros2_final.sh
#!/bin/bash set -e echo "=====================================" echo " ROS2 Humble Installer (fixed)" echo "=====================================" # 0. 禁用失效的 docker-ce 源,否则 apt update 报 403 直接中断 if [ -f /etc/apt/sources.list.d/docker.list ]; then sudo mv /etc/apt/sources.list.d/docker.list \ /etc/apt/sources.list.d/docker.list.bak echo "[INFO] bad docker.list disabled" fi # 1. 清理旧 ROS 源 sudo rm -f /etc/apt/sources.list.d/ros2.list sudo apt-key del F42ED6FBAB17C654 2>/dev/null || true # 2. 系统更新 sudo apt update -y # 3. 【核心修复】强制降级 libicu70 sudo apt install -y -f \ --allow-downgrades \ libicu70=70.1-2 # 4. 锁定版本防止再次升级 sudo apt-mark hold libicu70 # 5. 语言环境 sudo apt install -y locales sudo locale-gen en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 # 6. 工具依赖(含 gpg 转换密钥用) sudo apt install -y curl gnupg2 lsb-release software-properties-common ca-certificates # 7. 不连 github(被墙),改用密钥服务器拿公钥 sudo rm -f /usr/share/keyrings/ros-archive-keyring.gpg sudo gpg --batch --yes --keyserver hkp://keyserver.ubuntu.com:80 \ --recv-keys F42ED6FBAB17C654 sudo gpg --batch --yes --export \ -o /usr/share/keyrings/ros-archive-keyring.gpg F42ED6FBAB17C654 # 8. 用能访问的中科大 ROS2 镜像 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.ustc.edu.cn/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" \ | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null # 9. 更新并安装 ROS2 sudo apt update -y sudo apt install -y --no-install-recommends ros-humble-desktop # 10. 开发工具 sudo apt install -y python3-colcon-common-extensions python3-rosdep python3-argcomplete # 11. 环境变量(避免重复写入) grep -qxF "source /opt/ros/humble/setup.bash" ~/.bashrc \ || echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source /opt/ros/humble/setup.bash echo "=====================================" echo " ✅ ROS2 Humble 安装成功!" echo " 验证命令:echo \$ROS_DISTRO (应输出 humble)" echo "====================================="
chmod +x install_ros2_final.sh
./install_ros2_final.sh
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc
ros2 run demo_nodes_cpp talker
sudo apt update sudo apt install -y python3-colcon-common-extensions
本文作者:Deshill
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!