无法在 Ubuntu 20.04 上安装 ROS Melodic



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

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

ROS有一个严格的版本控制方案,与不同版本的Ubuntu保持一致。 前任:

  • Ubuntu 14 (aka Trusty( == ROS Indigo
  • Ubuntu 16 (又名 Xenial( == ROS Kinetic
  • Ubuntu 18 (又名仿生( == ROS 旋律
  • Ubuntu 20 (又名Focal( == ROS Noetic
  • Ubuntu 22 (N/A(

(您仍然可以手动编译 ROS,但为了理智起见,我建议不要这样做。少出错(

编辑!

我最初是在 2020 年 5 月 22 日写的,没有意识到 ROS Noetic 将于 2020 年 5 月 23 日发布。它应该有完整的官方支持,就像其他的ROS版本一样。如果您打算使用 Ubuntu 20 与 18,那么通过 apt 安装的 Noetic 现在是官方选择!

替换第一个命令

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命令正在向echo命令发送focal(Ubuntu 20.xx( 参数,而它应该是bionic(Ubuntu 18.xx(,因此,添加了 noetic 的存储库而不是旋律。

在 JWCS 和 Himanshu Tanwar 的回答之后,只想提一下,如果你正在研究 Debian,在 Debian 10(buster( 上,你最好使用 Noetic。在巴斯特上使用旋律将进入相同的难度

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

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

最新更新