Debian install of ROS Melodic
We are building Debian packages for Debian Stretch. These packages are more efficient than source-based builds and are our preferred installation method for Debian. Note that there are also packages available from Debian upstream. Please see UpstreamPackages to understand the difference.
Debian packages are built for the following distros and architectures.
If you need to install from source (not recommended), please see source (download-and-compile) installation instructions.
If you rely on these packages, please support OSRF.
These packages are built and hosted on infrastructure maintained and paid for by the Open Source Robotics Foundation, a 501(c)(3) non-profit organization. If OSRF were to receive one penny for each downloaded package for just two months, we could cover our annual costs to manage, update, and host all of our online services. Please consider donating to OSRF today.
Configure your Debian repositories
Configure your Debian repositories to allow "contrib" and "non-free". You can follow the Debian guide for instructions on doing this.
Setup your sources.list
Setup your computer to accept software from packages.ros.org. ROS Melodic ONLY supports Stretch (Debian 9) for debian packages.
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Set up your keys
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
First, make sure your Debian package index is up-to-date:
sudo apt-get update
There are many different libraries and tools in ROS. We provided four default configurations to get you started. You can also install ROS packages individually.
sudo apt-get install ros-melodic-desktop-full
or click here
sudo apt-get install ros-melodic-desktop
or click here
ROS-Base: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.
sudo apt-get install ros-melodic-ros-base
or click here
Individual Package: You can also install a specific ROS package (replace underscores with dashes of the package name):
sudo apt-get install ros-melodic-PACKAGEe.g.
sudo apt-get install ros-melodic-slam-gmapping
To find available packages, use:
apt-cache search ros-melodic
Before you can use ROS, 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.
sudo rosdep init rosdep update
It's convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
If you have more than one ROS distribution installed, ~/.bashrc must only source the setup.bash for the version you are currently using.
If you just want to change the environment of your current shell, instead of the above you can type:
If you use zsh instead of bash you need to run the following commands to set up your shell:
echo "source /opt/ros/melodic/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 python-rosinstall python-rosinstall-generator python-wstool build-essential
Build farm status
Now, to test your installation, please proceed to the ROS Tutorials.