Files
KML-Verification/INSTALLATION.md
2026-04-27 13:08:27 +05:30

85 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Installation & Run (Linux)
Tauri 2 + React + Vite + Rust + SQLite. Tested on Ubuntu 22.04+ and Pop!_OS.
---
## 1. Prerequisites
### Node.js 20 (or any LTS ≥ 18)
The Tauri 2 CLI uses optional chaining and crashes with `SyntaxError: Unexpected token '.'` on Node 14 or older. Check with `node -v`.
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
exec $SHELL
nvm install 20
nvm alias default 20
```
### Rust (stable)
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
```
### System libraries (Debian / Ubuntu / Pop!_OS)
```bash
sudo apt update
sudo apt install -y \
build-essential curl wget file pkg-config \
libwebkit2gtk-4.1-dev \
libssl-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libsoup-3.0-dev
```
---
## 2. Install dependencies
```bash
cd kml_map_tool
npm install
```
This also pulls `@tauri-apps/cli`. Rust deps build on first run.
---
## 3. Run in development
```bash
npm run tauri dev
```
- First run: 510 min while Rust deps compile.
- Subsequent runs: seconds.
- Closing the window stops everything.
The SQLite database is created at `~/.local/share/com.kml_map_tool.app/markers.db` on first launch. To wipe it, use **Reset DB** in the app or delete the file.
---
## 4. Build a release binary
```bash
npm run tauri build
```
Output: `src-tauri/target/release/bundle/``.AppImage`, `.deb`, and `.rpm` (whichever packagers are present on `$PATH`).
---
## 5. Troubleshooting
| Symptom | Fix |
|---|---|
| `SyntaxError: Unexpected token '.'` from `tauri.js` | Node too old. Upgrade to ≥ 18, then `rm -rf node_modules package-lock.json && npm install`. |
| `error: linker 'cc' not found` | `sudo apt install build-essential` |
| `failed to find webkit2gtk-4.1` | Install `libwebkit2gtk-4.1-dev`. On Ubuntu < 22.04 only `4.0` is available — upgrade Ubuntu. |
| Blank white window on Wayland | `WEBKIT_DISABLE_COMPOSITING_MODE=1 npm run tauri dev` |
| `g_object_unref: assertion 'G_IS_OBJECT (object)' failed` on quit | Harmless WebKitGTK noise. Ignore. |
See [README.md](./README.md) for the user guide.