tauri/docs/get-started/setup-linux.md
2022-01-07 19:09:25 +01:00

4.8 KiB

title
Setup for Linux

import Alert from '@theme/Alert' import Icon from '@theme/Icon' import { Intro } from '@theme/SetupDocs' import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

1. System Dependencies 

<Tabs defaultValue="debian" values={[ {label: 'Debian', value: 'debian'}, {label: 'Arch', value: 'arch'}, {label: 'Fedora', value: 'fedora'}, ]}>

$ sudo apt update && sudo apt install libwebkit2gtk-4.0-dev \
    build-essential \
    curl \
    wget \
    libssl-dev \
    libgtk-3-dev \
    libappindicator3-dev \
    patchelf \
    librsvg2-dev
$ sudo pacman -Syu && sudo pacman -S --needed \
    webkit2gtk \
    base-devel \
    curl \
    wget \
    openssl \
    appmenu-gtk-module \
    gtk3 \
    libappindicator-gtk3 \
    patchelf \
    librsvg \
    libvips
$ sudo dnf check-update && sudo dnf install webkit2gtk3-devel.x86_64 \
    openssl-devel \
    curl \
    wget \
    libappindicator-gtk3 \
    patchelf \
    librsvg2-devel \
    && sudo dnf group install "C Development Tools and Libraries"

Optional dependencies:

  • libappindicator: needed to use the system tray feature.
  • patchelf and librsvg: needed to bundle AppImage.

2. Node.js Runtime and Package Manager 

Node.js (npm included)

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

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
We have audited this bash script, and it does what it says it is supposed to do. Nevertheless, before blindly curl-bashing a script, it is always wise to look at it first. Here is the file as a mere download link.

Once nvm is installed, close and reopen your terminal, then install the latest version of Node.js and npm:

$ nvm install node --latest-npm
$ nvm use node

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

Optional Node.js Package Manager

You may want to use an alternative to npm:

  • Yarn, is preferred by Tauri's team
  • pnpm

3. Rustc and Cargo Package Manager 

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

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
We have audited this bash script, and it does what it says it is supposed to do. Nevertheless, before blindly curl-bashing a script, it is always wise to look at it first. Here is the file as a mere download link.

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.

4. 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=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 and you need to add -ac to the X server as an argument. Note: if for some reason this command doesn't work you can use an alternative command such as: export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | sed 's/.* //g'):0 or you can manually find the Address using cat /etc/resolve.conf | grep nameserver.

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.

Continue

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