Configure your Ubuntu repositories

Configure your Ubuntu repositories to allow "restricted," "universe," and "multiverse." You can follow the Ubuntu guide for instructions on doing this.

Setup your sources.list

Setup your computer to accept software from

  • sudo sh -c 'echo "deb $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'


Source Debs are also available

Set up your keys

  • sudo apt install curl # if you haven't already installed curl curl -s | sudo apt-key add -


First, make sure your Debian package index is up-to-date:

  • sudo apt update

Now pick how much of ROS you would like to install.

  • Desktop-Full Install: (Recommended) : Everything in Desktop plus 2D/3D simulators and 2D/3D perception packages

    • sudo apt install ros-noetic-desktop-full

      or click here

    Desktop Install: Everything in ROS-Base plus tools like rqt and rviz

    ROS-Base: (Bare Bones) ROS packaging, build, and communication libraries. No GUI tools.

There are even more packages available in ROS. You can always install a specific package directly.

  • sudo apt install ros-noetic-PACKAGEe.g.

    sudo apt install ros-noetic-slam-gmapping

To find available packages, see ROS Index or use:

apt search ros-noetic

Environment setup

You must source this script in every bash terminal you use ROS in.

source /opt/ros/noetic/setup.bash

It can be convenient to automatically source this script every time a new shell is launched. These commands will do that for you.


If you have more than one ROS distribution installed, ~/.bashrc must only source the setup.bash for the version you are currently using.

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc


echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc

Dependencies for building packages

Up to now you have installed what you need to run the core ROS packages. To create and manage your own ROS workspaces, there are various tools and requirements that are distributed separately. For example, rosinstall is a frequently used command-line tool that enables you to easily download many source trees for ROS packages with one command.

To install this tool and other dependencies for building ROS packages, run:

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

Initialize rosdep

Before you can use many ROS tools, you will need to initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS. If you have not yet installed rosdep, do so as follows.

sudo apt install python3-rosdep

With the following, you can initialize rosdep.

sudo rosdep init
rosdep update

Licensed under CC BY-NC-SA 4.0