Tauri打包配置及报错处理

Tauri打包配置及报错处理

创建应用

lua 复制代码
pnpm create tauri-app

打包

修改tauri.conf.json

javascript 复制代码
Error You must change the bundle identifier in `tauri.conf.json > tauri > bundle > identifier`. The default value `com.tauri.dev` is not allowed as it must be unique across applications.

改成这个

javascript 复制代码
"identifier": "com.tauri.build",
javascript 复制代码
 failed to get `serde` as a dependency of package `app v0.0.0

常见报错处理

下载这个 github.com/wixtoolset/... 我们把"github.com/wixtoolset/..."这个链接的压缩包下载到本地。然后在C:\Users\你的用户名\AppData\Local下找到tauri文件夹,如果没有则创建一个名为tauri的文件夹,在文件夹内再创建一个WixTools目录,将下载的压缩包解压到这个文件夹里面(创建依赖包路径: C:\Users\用户\AppData\Local\tauri\WixTools)。然后再回到VSCode运行打包命令。这个时候就可以打包成功了。

打包成功后,打开打包生成的目录,就可以看到一个.msi后缀结尾的安装文件tauri-app_0.0.0_x64_en-US.msi(scr-tauri/target/release/bundle/msi/tauri-app_0.0.0_x64_en-US.msi),双击就可以安装了。还有一个可执行包tauri-app.exe(scr-tauri/target/release/tauri-app.exe)。至此,整个创建到打包的流程就完成了。

Windows下Rust安装x86_64-pc-windows-gnu版本

Rust官网:rust-lang.org

打开 rust.init

直接安装

javascript 复制代码
rustup toolchain install stable-x86_64-pc-windows-gnu

下载完成后

javascript 复制代码
rustup default stable-x86_64-pc-windows-gnu

再次报错

javascript 复制代码
cargo update
javascript 复制代码
cargo clean
javascript 复制代码
cargo build

安装

tauri.app/zh-cn/v1/gu...

1. Microsoft Visual Studio C++ 生成工具

您需要安装 Microsoft C++ 生成工具。 最简单的方法是下载 Visual Studio 2022 生成工具。 进行安装选择时,请勾选 "C++ 生成工具" 和 Windows 10 SDK。

列表 1-1:使用 Visual Studio 生成工具 2022 安装程序,并勾选 "C++ 构建工具" 和 "Windows 10 SDK"。

隐藏边框

编辑tauri.conf.json, 设置decorations: false隐藏自己的边框了栏

javascript 复制代码
{
  "windows": [
    {
        "decorations": false,
       ...
    }
  ]
}

定义自己的顶栏

javascript 复制代码
<!-- 注:通过设置"data-tauri-drag-region"注册拖动区域-->
<div data-tauri-drag-region class="titlebar">
  <div class="titlebar-button" id="titlebar-minimize">
    <img
      src="https://api.iconify.design/mdi:window-minimize.svg"
      alt="minimize"
    />
  </div>
  <div class="titlebar-button" id="titlebar-maximize">
    <img
      src="https://api.iconify.design/mdi:window-maximize.svg"
      alt="maximize"
    />
  </div>
  <div class="titlebar-button" id="titlebar-close">
    <img src="https://api.iconify.design/mdi:close.svg" alt="close" />
  </div>
</div>

绑定js方法

javascript 复制代码
import { appWindow } from '@tauri-apps/api/window'
document
  .getElementById('titlebar-minimize')
  .addEventListener('click', () => appWindow.minimize())
document
  .getElementById('titlebar-maximize')
  .addEventListener('click', () => appWindow.toggleMaximize())
document
  .getElementById('titlebar-close')
  .addEventListener('click', () => appWindow.close())

查看帮助

javascript 复制代码
npx @tauri-apps/tauricon --help

  Description
    Create all the icons you need for your Tauri app.

    "ICON-PATH" is the path to the source icon (default: 'app-icon.png').
    The icon needs to be either png (1240x1240 with transparency) or svg (square dimensions with transparency).

  Usage
    $ tauricon [ICON-PATH]

  Options
    --help, -h          Displays this message
    --log, l            Logging [boolean]
    --target, t         Target folder (default: 'src-tauri/icons')

** 生成好的图标默认放在 src-tauri/icons 目录下,在构建时包含在应用程序中。** 如果需要从其他位置获取图标,则可以编辑 src-tauri/tauri.conf.json 的以下部分:

javascript 复制代码
{
  "tauri": {
    "bundle": {
      "icon": [
        "icons/32x32.png",
        "icons/128x128.png",
        "icons/128x128@2x.png",
        "icons/icon.icns",
        "icons/icon.ico"
      ]
    }
  }
}

rust 加速update crates.io

在 $HOME/.cargo/config 需要新建config

javascript 复制代码
# 放到 `$HOME/.cargo/config` 文件中
[source.crates-io]
#registry = "https://github.com/rust-lang/crates.io-index"

# 替换成你偏好的镜像源
replace-with = 'ustc'
#replace-with = 'sjtu'

# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"
相关推荐
崔庆才丨静觅3 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60614 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了4 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅4 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅4 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅5 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment5 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅5 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊5 小时前
jwt介绍
前端
爱敲代码的小鱼5 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax