從 Tauri 2.0 Beta 升級
本指南引導您將 Tauri 2.0 Beta 應用程式升級至 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
命令,請參閱命令列介面參考
重大變更
從 Beta 版本到候選發行版,我們進行了一些重大變更。這些變更可以自動遷移(如上所述)或手動執行。
Tauri 核心外掛程式
我們變更了 Tauri 內建外掛程式在功能 PR #10390 中的尋址方式。
若要從最新的 Beta 版本遷移,您需要在功能中的所有核心權限識別符前面加上 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
權限集,其中將包含所有核心外掛程式的所有預設權限,因此您可以簡化功能設定中的權限樣板程式碼。
..."permissions": [ "core:default"]...
內建開發伺服器
我們對內建開發伺服器的網路暴露進行了變更 PR #10437 和 PR #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 貢獻者。CC-BY / MIT