关于一件安装时出现的下载错误404等问题的解决办法
-
因为为本身以前安装过虚拟机,所以版本和教程的略显不同,一键安装的ROS版本如下
RUN Choose Task:[请输入括号内的数字] 请选择你要安装的ROS版本名称(请注意ROS1和ROS2区别): [1]:foxy(ROS2) [2]:galactic(ROS2) [3]:noetic(ROS1) [4]:rolling(ROS2) [0]:quit所以一开始安装还是依照教程选择默认清华源,发现在下载过程中出现能够手动打开依赖包,但下载出现404错误或者下载失败导致按照最后失败
Failed to fetch ...xx.deb 404 Not Found经过查询相关问题,发现是Nexus APT Proxy 对“标准 Debian/Ubuntu 仓库结构”要求严格
清华源 ROS2 仓库虽然看着像 APT 仓库,但目录结构部分不完全符合 APT 代理的预期
Nexus 访问不到某些路径,会把上游判定为不可访问 → Auto Block(自动封锁)当 Nexus 多次从上游收到 404 或无法索引时,会直接封锁上游。此时你看到的 404 就不是“源站不存在”,而是 “Nexus 拒绝继续拉取”。
所以解决方案最简单的就是重新换源,这里直接使用5号的官方源测试
检测到您的系统支持多个ROS镜像源,请选择您想要使用的ROS镜像源(默认清华): [1]:中科大镜像源 (推荐国内用户使用) [2]:清华镜像源 (容易被封禁) [3]:华为镜像源 [4]:中山大学开源软件镜像站 (试运行) [5]:ROS官方源 (国外用户或需要最新版本时使用) [0]:quit发现之前安装失败的库可以正常调用下载
恭喜你,安装成功了,再附赠你机器人学习宝藏网站:鱼香社区:https://fishros.org.cn/forum Run CMD Task:[ls /opt/ros/foxy/setup.bash]最终新建窗口测试输入ros2成功
zhimran@ubuntu:~$ ros2 usage: ros2 [-h] Call `ros2 <command> -h` for more detailed usage. ... ros2 is an extensible command-line tool for ROS 2. optional arguments: -h, --help show this help message and exit Commands: action Various action related sub-commands bag Various rosbag related sub-commands component Various component related sub-commands daemon Various daemon related sub-commands doctor Check ROS setup and other potential issues interface Show information about ROS interfaces launch Run a launch file lifecycle Various lifecycle related sub-commands multicast Various multicast related sub-commands node Various node related sub-commands param Various param related sub-commands pkg Various package related sub-commands run Run a package specific executable security Various security related sub-commands service Various service related sub-commands topic Various topic related sub-commands wtf Use `wtf` as alias to `doctor` Call `ros2 <command> -h` for more detailed usage.总结:安装使用清华源适合根据教程同版本,想要安装新版本需要换ros官方源