无法在Ubuntu 20.04上安装ROS Melodic

时间:2020-05-22 16:56:00

标签: ubuntu ros

我正在尝试使用以下命令在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,但它们都给我相同的错误。

3 个答案:

答案 0 :(得分:4)

在您的情况下,此操作无效。 Ubuntu 20没有ROS版本,而Melodic仅在Ubuntu 18上可以找到。如果可以选择的话,建议安装Ubuntu 18。

ROS的严格版本控制方案与different versions of Ubuntu保持一致。 例如:

  • Ubuntu 14(又名Trusty)== ROS靛蓝
  • Ubuntu 16(aka Xenial)== ROS Kinetic
  • Ubuntu 18(aka Bionic)== ROS旋律
  • Ubuntu 20(又名Focal)== ROS Noetic
  • Ubuntu 22(N / A)

(您仍然可以像手动编译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的存储库,而不是旋律存储库。