从 Tauri 2.0 测试版本升级
本指南将指导您将 Tauri 2.0 测试版应用程序升级到 Tauri 2.0 发布候选版本。
自动化迁移
Tauri v2 CLI 包含一个 migrate
命令,该命令自动化了大部分过程,并帮助您完成迁移。
npm install @tauri-apps/cli@latestnpm run tauri migrate
yarn upgrade @tauri-apps/cli@latestyarn tauri migrate
pnpm update @tauri-apps/cli@latestpnpm tauri migrate
cargo install tauri-cli --version "^2.0.0" --lockedcargo tauri migrate
在 命令行接口参考 中了解更多关于 migrate
命令的信息。
重大更改
从测试版到发布候选版本,我们进行了多项重大更改。这些更改可以是自动迁移(见上方)或手动执行。
Tauri 核心插件
我们更改了如何引用 Tauri 内置插件的能力 Pull Request #10390。
要从最新测试版迁移,请在您的 capabilities 中将所有核心权限标识符前置为 core:
或切换到 core:default
权限,并删除旧的内核插件标识符。
..."permissions": [ "path:default", "event:default", "window:default", "app:default", "image:default", "resources:default", "menu:default", "tray:default",]...
..."permissions": [ "core:path:default", "core:event:default", "core:window:default", "core:app:default", "core:image:default", "core:resources:default", "core:menu:default", "core:tray:default",]...
我们还添加了一个新的特殊 core:default
权限集合,该集合将包含所有内核插件的所有默认权限,因此您可以简化 capabilities 配置中的权限模板。
..."permissions": [ "core:default"]...
内置开发服务器
我们对内置开发服务器的网络暴露进行了更改 Pull Request #10437 和 Pull Request #10456。
内置移动开发服务器不再公开网络,而是直接将本地机器的流量隧道到设备。
目前,当在 iOS 设备上运行时(无论是直接运行还是从 Xcode 运行),此改进不会自动应用。在这种情况下,我们默认使用开发服务器的公共网络地址,但有一个解决方案可以绕过它,这涉及到打开 Xcode 以自动在您的 macOS 机器和连接的 iOS 设备之间建立连接,然后运行 tauri ios dev --force-ip-prompt
以选择 iOS 设备的 TUN 地址(以 ::2 结尾)。
如果计划在物理 iOS 设备上运行,您的开发服务器配置需要适应此更改。之前我们建议检查 TAURI_ENV_PLATFORM
环境变量是否匹配 android
或 ios
,但因为我们现在可以在使用 iOS 设备的情况下连接到 localhost,所以您应该检查 TAURI_DEV_HOST
环境变量。以下是一个 Vite 配置迁移的示例
- 2.0.0-beta
import { defineConfig } from 'vite';import { svelte } from '@sveltejs/vite-plugin-svelte';import { internalIpV4Sync } from 'internal-ip';
const mobile = !!/android|ios/.exec(process.env.TAURI_ENV_PLATFORM);
export default defineConfig({ plugins: [svelte()], clearScreen: false, server: { host: mobile ? '0.0.0.0' : false, port: 1420, strictPort: true, hmr: mobile ? { protocol: 'ws', host: internalIpV4Sync(), port: 1421, } : undefined, },});
- 2.0.0:
import { defineConfig } from 'vite';import Unocss from 'unocss/vite';import { svelte } from '@sveltejs/vite-plugin-svelte';
const host = process.env.TAURI_DEV_HOST;
export default defineConfig({ plugins: [svelte()], clearScreen: false, server: { host: host || false, port: 1420, strictPort: true, hmr: host ? { protocol: 'ws', host: host, port: 1430, } : undefined, },});
© 2025 Tauri 贡献者。署名-相同方式共享 / MIT