无法在 Ubuntu 20.04 上安装 ROS Melodic

Posted

技术标签:

【中文标题】无法在 Ubuntu 20.04 上安装 ROS Melodic【英文标题】:Unable to install ROS Melodic on Ubuntu 20.04 【发布时间】:2020-05-22 16:56:00 【问题描述】:

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

【问题讨论】:

Ros Noetic 是为 Ubuntu 20 制作的。Melodic 是为 Ubuntu 18 制作的 Ros Noetic 在回答时还没有出来;我不确定当时网站是否更新了,或者我只是瞎了眼。但是现在已经出来了! 【参考方案1】:

在你的情况下,这是行不通的。 Ubuntu 20 没有 ROS 版本,Melodic 只能在 Ubuntu 18 上找到。如果可以选择,我建议安装 Ubuntu 18。

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

Ubuntu 14(又名 Trusty)== ROS Indigo Ubuntu 16(又名 Xenial)== ROS Kinetic Ubuntu 18(又名仿生)== ROS Melodic Ubuntu 20(又名 Focal)== ROS Noetic Ubuntu 22(不适用)

(您仍然可以手动编译 ROS,但出于理智考虑,我建议您不要这样做。少出错)

编辑!

我最初在 2020 年 5 月 22 日写了这篇文章,没有意识到 ROS Noetic 将在 May 23, 2020 上发布。它应该有完整的官方 apt 支持,就像其他 ROS 版本一样。如果您打算使用 Ubuntu 20 vs 18,Noetic installed via apt 现在是官方的选择!

【讨论】:

【参考方案2】:

替换第一个命令

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 (Ubuntu 20.xx) 参数发送到echo 命令,而它应该是bionic (Ubuntu 18.xx),因此,加入了理性而不是旋律。

【讨论】:

真的!如果您使用的不是普通 Ubuntu,而是 Ubuntu 衍生产品,例如 Linux Mint(我的偏好......),这也是一个特别好的点。在这些情况下,同样,lsb_release -sc 也会给出错误的名称,而您确实需要 xenial / bionic / focal【参考方案3】:

根据 JWCS 和 Himanshu Tanwar 的回答,只想提一下,如果您正在使用 Debian,在 Debian 10(buster) 上,您最好使用 Noetic。在 Buster 上使用旋律会​​进入相同的难度

可以使用与 Himanshu Tanwar 的答案类似的方法来解决这个困难,即将“/etc/apt/sources.list.d/ros-latest.list”中的buster 更改为bionic .

我在基于 Buster 的 Raspbian 上安装 ROS 时遇到了这个问题。

【讨论】:

以上是关于无法在 Ubuntu 20.04 上安装 ROS Melodic的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu20.04安装noetic版本ros

ubuntu20.04安装noetic版本ros

Ubuntu 20.04下源码编译安装ROS 2 Foxy Fitzroy

Virtual Box+Ubuntu20.04+ROS2 Foxy配置

Virtual Box+Ubuntu20.04+ROS2 Foxy配置

Virtual Box+Ubuntu20.04+ROS2 Foxy配置