当前位置: 首页 > article >正文

用Tauri框架构建跨平台桌面应用:1、Tauri快速开始

Tauri 是一个构建适用于所有主流桌面和移动平台的轻快二进制文件的框架。开发者们可以集成任何用于创建用户界面的可以被编译成 HTML、JavaScript 和 CSS 的前端框架,同时可以在必要时使用 Rust、Swift 和 Kotlin 等语言编写后端逻辑。

Tauri 是什么? | Tauri

首先安装依赖包

安装Ubuntu apt包

sudo apt install libwebkit2gtk-4.0-dev \
  build-essential \
  curl \
  wget \
  file \
  libxdo-dev \
  libssl-dev \
  libgtk-3-dev \
  libayatana-appindicator3-dev \
  librsvg2-dev

安装rustc

apt安装的版本低,需要使用官网的安装:

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

但是这个会卡住。。。

中间尝试过用apt安装好并更新到1.80版本:

apt upgrade rustc-1.80

看着说更新了,但是还是报错说rustc版本低。。。。后来是用的官网的方法:

官网方法

直接执行安装命令:

curl https://sh.rustup.rs -sSf | sh

 安装完成后提示:

Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).

To configure your current shell, you need to source
the corresponding env file under $HOME/.cargo.

This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env"            # For sh/bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env.fish"  # For fish

重新登录用户,或者执行命令激活环境:

. "$HOME/.cargo/env"            # For sh/bash/zsh/ash/dash/pdksh

 使用bash创建项目

sh <(curl https://create.tauri.app/sh)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:100 16121  100 16121    0     0   7933      0  0:00:02  0:00:02 --:--:--  7937
info: downloading create-tauri-app
✔ Project name · tauri-app
✔ Identifier · com.tauri-app.app
✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm, deno, bun)
✔ Choose your package manager · pnpm
✔ Choose your UI template · Vue - (https://vuejs.org/)
✔ Choose your UI flavor · TypeScript

Template created!

Your system is missing dependencies (or they do not exist in $PATH):
╭────────────────────┬─────────────────────────────────────────────────────╮
│ Node.js            │ Visit https://nodejs.org/                           │
├────────────────────┼─────────────────────────────────────────────────────┤
│ webkit2gtk & rsvg2 │ Visit https://tauri.app/guides/prerequisites/#linux │
╰────────────────────┴─────────────────────────────────────────────────────╯

Make sure you have installed the prerequisites for your OS: https://tauri.app/start/prerequisites/, then run:
  cd tauri-app
  pnpm install
  pnpm tauri android init

For Desktop development, run:
  pnpm tauri dev

For Android development, run:
  pnpm tauri android dev

进入目录使用 Tauri CLI 启动开发服务器:

cd tauri-app
cargo tauri dev

这里没有运行成功,改用手动 

先安装

cargo search cargo-tauri

都不行,换一个方法:重新用cargo创建目录

使用cargo创建项目

执行命令:

cargo install create-tauri-app --locked
cargo create-tauri-app

 安装过程中会让选择模版,五种ui模版,最佳应该选哪个? Vanilla Yew Leptos Sycamore Dioxus

听AI的劝,再加上自己的主观判断,最后选了Leptos

装完之后提示:

Your system is missing dependencies (or they do not exist in $PATH):
╭───────────────┬───────────────────────────────────────────────────────────╮
│ Tauri CLI     │ Run `cargo install tauri-cli --version '^2.0.0' --locked` │
├───────────────┼───────────────────────────────────────────────────────────┤
│ Trunk         │ Run `cargo install trunk --locked`                        │
├───────────────┼───────────────────────────────────────────────────────────┤
│ wasm32 target │ Run `rustup target add wasm32-unknown-unknown`            │
├───────────────┼───────────────────────────────────────────────────────────┤
│ webkit2gtk    │ Visit https://tauri.app/guides/prerequisites/#linux       │
╰───────────────┴───────────────────────────────────────────────────────────╯

Make sure you have installed the prerequisites for your OS: https://tauri.app/start/prerequisites/, then run:
  cd tauri-app
  cargo tauri android init

For Desktop development, run:
  cargo tauri dev

For Android development, run:
  cargo tauri android dev

后来才知道,需要按照提示安装缺失的软件,比如Tauri CLI等。 

开始 :使用 Tauri CLI 启动开发服务器:

项目创建好后,提示执行下面命令安装Tauri CLI:

cargo install tauri-cli --version "^2.0.0" --locked

安装完成提示:

  Installing /root/.cargo/bin/cargo-tauri
   Installed package `tauri-cli v2.1.0` (executable `cargo-tauri`)
bash: Run: command not found

因为是远程无窗口服务器,所以最后有个bash命令没执行,理论上应该是:

您将会看到一个新的窗口被打开,该窗口正在运行您的应用。

恭喜您! 您已经创建了您自己的 Tauri 应用!🚀

后来在Mac下安装成功,看到了Tauri的窗体。

调试

报错error: crates-io is replaced with non-remote-registry source registry `mirror`

cargo search cargo-tauri

error: crates-io is replaced with non-remote-registry source registry `mirror`;

include `--registry crates-io` to use crates.io

加上这句:

[source.crates-io]
registry = "https://github.com/rust - lang/crates.io - index"
replace-with = 'mirror'

好像不管用。

用这条命令:

cargo search tauri --registry crates-io

能看到东西,但是装起来还是不错,应该还是版本问题。 

报错cannot install package `tauri 2.1.1`, it requires rustc 1.77.2 or newer

cargo install tauri

    Updating `mirror` index

error: cannot install package `tauri 2.1.1`, it requires rustc 1.77.2 or newer, while the currently active rustc version is 1.75.0

`tauri 2.0.0-rc.17` supports rustc 1.71

用apt等升级rustc,一直没升上去,最后使用官网的方法安装新版本:

curl https://sh.rustup.rs -sSf | sh

参考 初识Cargo-Rust的包管理器_cargo,rust包管理器-CSDN博客

FreeBSD系统不支持cargo install tauri-cli 

命令安装:

cargo install tauri-cli --version '^2.0.0' --locked
 

   Compiling magic_string v0.3.4
error: Host platform not yet supported by cargo-mobile2! We'd love if you made a PR to add support for this platform ❤️
  --> /home/skywalk/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-df7c3c540f42cdbd/cargo-mobile2-0.17.4/src/os/mod.rs:22:1
   |
22 | compile_error!("Host platform not yet supported by cargo-mobile2! We'd love if you made a PR to add support for this platform ❤...;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0432]: unresolved import `crate::os::consts`

最终放弃在FreeBSD下使用Tauri 。


http://www.kler.cn/a/408950.html

相关文章:

  • 一文学习开源框架OkHttp
  • 练习题 - Django 4.x Templates 渲染页面模板使用示例和配置方法
  • 【SQL】【数据库】语句翻译例题
  • Android12 mtk设置插充电器自动开机
  • 使用timm库加载模型与模型权重
  • Windows11深度学习环境配置
  • 【桂林理工大学主办 | 往届均已EI检索】第五届能源工程、新能源材料与器件国际学术会议(NEMD 2025)
  • ctfshow -web 89-115-wp
  • 数据结构之二:表
  • RoPE——Transformer 的旋转位置编码
  • Centos使用docker搭建Graylog日志平台
  • python中的base64使用小笑话
  • vue从入门到精通(七):事件处理
  • 全新三网话费余额查询API系统源码 Thinkphp全开源 附教程
  • 力扣力扣力:860柠檬水找零
  • 【机器学习监督学习】:从原理到实践,探索算法奥秘,揭示数据标注、模型训练与预测的全过程,助力人工智能技术应用与发展
  • Unity 内置枚举(Option Stencil)
  • 【AI技术赋能有限元分析应用实践】Abaqus、 Ansys、FEniCSx 有限元结合深度学习
  • Java爬虫与淘宝API接口:深度解析销量和商品详情数据获取
  • FMCJ456-14bit 2通道3/2.6/2GS/s ADC +16bit 2通道12.6GS/s DAC FMC AD/DA子卡
  • 网站渗透测试工具zap2docker-stable
  • H.264/H.265播放器EasyPlayer.js网页全终端安防视频流媒体播放器关于iOS不能系统全屏
  • 第425场周赛题解:最小正和子数组
  • Fakelocation Server服务器/专业版 Centos7
  • 图形渲染性能优化
  • python中lxml 库之 etree 使用详解