我正在尝试使用以下命令在Ubuntu 20.04上安装ROS Melodic
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop-full
但是我收到此错误
E: Unable to locate package ros-melodic-desktop-full
我尝试安装不同的版本和Kinetic Kame,但它们都给我相同的错误。
答案 0 :(得分:4)
在您的情况下,此操作无效。 Ubuntu 20没有ROS版本,而Melodic仅在Ubuntu 18上可以找到。如果可以选择的话,建议安装Ubuntu 18。
ROS的严格版本控制方案与different versions of Ubuntu保持一致。 例如:
(您仍然可以像手动编译ROS一样,但是出于理智的考虑,我建议您不要这样做。
编辑!
我最初是在2020年5月22日写这篇文章的,但没有意识到ROS Noetic将在May 23, 2020上发布。像其他ROS版本一样,它应该具有完整的正式apt支持。如果您打算使用Ubuntu 20 vs 18,那么Noetic installed via apt现在是您的官方选择!
答案 1 :(得分:1)
按照 JWCS 和 Himanshu Tanwar 的回答,只想提一下,如果您在 Debian 上工作,在 Debian 10(buster) 上您最好使用 Noetic。在 Buster 上使用旋律会进入相同的难度
可以使用与 Himanshu Tanwar 回答中的方法类似的方法来解决此困难,即将“/etc/apt/sources.list.d/ros-latest.list”中的 buster
更改为 { {1}}。
我在基于 Buster 的 Raspbian 上安装 ROS 时遇到了这个问题。
答案 2 :(得分:0)
替换第一个命令
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
作者
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros-latest.list'
# or equivalently
sudo echo "deb http://packages.ros.org/ros/ubuntu bionic main" >> /etc/apt/sources.list.d/ros-latest.list
安装将开始。
这是因为lsb_release -sc
命令正在向focal
命令发送echo
(Ubuntu 20.xx)参数,而参数应该是bionic
(Ubuntu 18.xx ),因此,添加了用于Noetic的存储库,而不是旋律存储库。