tauri打包问题及解决方案

3,562 阅读1分钟

最近终于下定决心将《多终端管理工具》,打包一份 windows 环境。
之前在mac环境开发和打包都没有任何问题。但是,将代码移到 windows 电脑上后,就碰到了一系列问题。
1.Module parse failed: Unexpected token (1:1437) iShot_2023-01-02_08.31.32.png

这个错误是因为@tauri-apps/api模块中有es6\es7的符号,比如:params?.argswebpack 打包过程中无法识别导致。
解决方案是在babel中配置额外的编译路径。比如我使用的是umijs的脚手架,所以在.umirc里面添加如下配置:

import { defineConfig } from 'umi';

export default defineConfig({
  ...
  extraBabelIncludes:['@tauri-apps/api'],
  ...
});

  1. Downloading https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip iShot_2023-01-02_08.41.33.png

这个错误是在tauri build的过程中出现的。因为,tauri打包的过程中,会有一个下载依赖包的过程,国内由于GitHub慢原因,导致https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip文件下载不了。
解决方案是直接通过迅雷下载这个zip文件,然后将解压后的文件放到C:\Users\用户\AppData\Local\tauri\WixTools目录下。
如果C:\Users\用户\AppData\Local\tauri\WixTools这个目录不存在,可以自己手动创建对应的目录。

iShot_2023-01-02_08.47.12.png

  1. Error failed to bundle project: error running light.exe
    解决问题2后,又出现了一个问题:
Error failed to bundle project: error running light.exe: error running light.exe: `failed to run C:\Users\273581871_31965846\AppData\Local\tauri/WixTools\light.exe`

解决方案:

iShot_2023-01-02_09.11.20.png

使用Visual Studio Installer勾选红框位置,然后进行安装。 然后在tauri.config.json的配置中添加以下配置:

  "bundle": {
      ...
      "windows": {
        "wix":{
          "language": "zh-CN" 
        },
      }
       ...
    },

最后,当你看到Finished 1 bundle at: D:\codes\composite-terminal\src-tauri\target\release\bundle/msi/多终端管理器_0.1.0_x64_zh-CN.msi这行的时候,就代表打包成功了。