- Tauri is used for building desktop apps (if you don’t know tauri, you might have heard of electron).
- Yew is used for building native client webapps using rust. Reminds me of React.
Since there was no official documentation on how to configure a Tauri/Yew project, I wanted to post instructions for Linux users. I did run into some specific problems like:
- missing system packages
- packages installed with errors etc.
My distro is Ubuntu 22.04.
You might not run into any issues, so just following the quickstart should be fine.
I did run into issues on my laptop, and no issues when I tried the same procedure on my desktop computer. Same distro versions, but maybe “some system update broke” on my laptop.
Table of Contents
Install rust, or if you already have Rust installed:
rustup update stable rustup target add wasm32-unknown-unknown
Target wasm32-unknown-unknown is needed when building tauri apps, and quoting:
A “bare wasm” target representing a WebAssembly output that makes zero assumptions about its environment.https://doc.rust-lang.org/nightly/nightly-rustc/rustc_target/spec/wasm32_unknown_unknown/index.html
unknown-unknown might be compile on any, run on any machine.
Some system packages are also needed, a little bit later on that…
Rust version I was working with was 1.65.
There are some instructions on Quick Start | Tauri Apps, and they go like this:
cargo install create-tauri-app cargo create-tauri-app
Then you’ll pick yew, and create-tauri-app will generate all source code.
src-tauri/Cargo.toml, set rustc version to 1.65 or whatever version
rustc --version shows. Bump all dependencies, and then install:
cargo install tauri-cli trunk
cargo tauri dev
When first running
cargo tauri dev, I got an error like:
Error led me to this github issue. And yes,
libgtk-3-dev was installed with errors!
libgtk-3-dev 22.04 “The following packages have unmet dependencies”
As the error says: you have installed listed dependencies, but you’ll have to downgrade them!
sudo apt install libpcre2-8-0=10.39-3ubuntu0.1 -y sudo apt install libpcre2-16-0=10.39-3ubuntu0.1 -y sudo apt install libpcre2-32-0=10.39-3ubuntu0.1 -y sudo apt install libpcre3=2:8.39-13ubuntu0.22.04.1 -y
sudo apt install --reinstall libgtk-3-dev
Another try at cargo tauri dev
Nope! Another error in terminal! And onto installing another set of packages…
And, finally hit one more time
cargo tauri dev, I promise it will work!