Setup for Linux

This setup is only needed for development. Consumers of Tauri apps will not have to do any of this.


Tauri is a polyglot system, and as such requires a good deal of tooling.

System Dependencies:

$ sudo apt update && sudo apt install libwebkit2gtk-4.0-dev build-essential curl libssl-dev appmenu-gtk3-module

Node Runtime and Package Manager

We recommend using NVM to manage your Node runtime. It allows you to easily switch versions and update Node.

$ curl -o- | bash

Once NVM is installed, close and reopen your terminal, then install Node v12 LTS and the latest npm:

$ nvm install 12
$ nvm use 12

If you have any problems with NVM, please consult their project readme.

Now that Node and npm are installed, if you like you may additionally install Yarn - the preferred package manager of the Tauri team.

$ npm install --global yarn

Rustc and Cargo Package Manager

The following command will install rustup, the official installer for Rust.

$ curl --proto '=https' --tlsv1.2 -sSf | sh

To make sure that Rust has been installed successfully, run the following command:

$ rustc --version
latest update on 2019-12-19, rust version 1.40.0

You may need to restart your terminal if the command does not work.

If you already installed rustup previously, make sure that you update Rust.

$ rustup update stable

Tauri Bundler

After you have installed Rust and other required dependencies, it is wise to restart your terminal before continuing.

Install Tauri bundler through Cargo:

$ cargo install tauri-bundler --force

For Windows Subsystem for Linux (WSL) Users

In order to run a graphical application with WSL, you need to download one of these X servers: Xming, Cygwin X, and vcXsrv. Since vcXsrv has been used internally, it's the one we recommend to install.

WSL Version 1

Open the X server and then run export DISPLAY=:0 in the terminal. You should now be able to run any graphical application via the terminal.

WSL Version 2

You'll need to run a command that is slightly more complex than WSL 1: export DISPLAY=$(/etc/resolv.conf < awk '/nameserver/ {print $2}'):0 and you need to add -ac to the X server as an argument.


Don't forget that you'll have to use the "export" command anytime you want to use a graphical application, for each newly opened terminal.

You can download some examples to try with sudo apt-get install x11-apps. xeyes is always a good one. It can be handy when troubleshooting WSL issues.

There are some known issues on WSL 2 regarding loopback; that is running a localhost server from the terminal. If you are on WSL 2, be wary of this. You can find information regarding that here.


Now that you have set up the Linux-specific dependencies for Tauri, learn how to add Tauri to your project.