Snapcraft
先決條件
1. 安裝 snap
sudo apt install snapd
sudo pacman -S --needed git base-develgit clone https://aur.archlinux.org/snapd.gitcd snapdmakepkg -sisudo systemctl enable --now snapd.socketsudo systemctl start snapd.socketsudo systemctl enable --now snapd.apparmor.service
sudo dnf install snapd# Enable classic snap supportsudo ln -s /var/lib/snapd/snap /snap
之後重新啟動您的系統。
2. 安裝基礎 snap
sudo snap install core22
3. 安裝 snapcraft
sudo snap install snapcraft --classic
組態
- 建立一個 UbuntuOne 帳戶。
- 前往 Snapcraft 網站並註冊應用程式名稱。
- 在您的專案根目錄中建立 snapcraft.yaml 檔案。
- 調整 snapcraft.yaml 檔案中的名稱。
name: appnamebase: core22version: '0.1.0'summary: Your summary # 79 char long summarydescription: | Your description
grade: stableconfinement: strict
layout: /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.1: bind: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.1
apps: appname: command: usr/bin/appname desktop: usr/share/applications/appname.desktop extensions: [gnome] #plugs: # - network # Add whatever plugs you need here, see https://snapcraft.io/docs/snapcraft-interfaces for more info. # The gnome extension already includes [ desktop, desktop-legacy, gsettings, opengl, wayland, x11, mount-observe, calendar-service ]
package-repositories: - type: apt components: [main] suites: [noble] key-id: 78E1918602959B9C59103100F1831DDAFC42E99D url: http://ppa.launchpad.net/snappy-dev/snapcraft-daily/ubuntu
parts: build-app: plugin: dump build-snaps: - node/20/stable - rustup/latest/stable build-packages: - libwebkit2gtk-4.1-dev - build-essential - curl - wget - file - libxdo-dev - libssl-dev - libayatana-appindicator3-dev - librsvg2-dev - dpkg stage-packages: - libwebkit2gtk-4.1-0 - libayatana-appindicator3-1 source: . override-build: | set -eu npm install npm run tauri build -- --bundles deb dpkg -x src-tauri/target/release/bundle/deb/*.deb $SNAPCRAFT_PART_INSTALL/ sed -i -e "s|Icon=appname|Icon=/usr/share/icons/hicolor/32x32/apps/appname.png|g" $SNAPCRAFT_PART_INSTALL/usr/share/applications/appname.desktop
說明
name
變數定義您的應用程式名稱,且必須設定為您先前註冊的名稱。base
變數定義您正在使用的核心。version
變數定義版本,應隨著原始碼儲存庫的每次變更而更新。apps
區段允許您公開桌面和二進制檔案,以允許使用者執行您的應用程式。package-repositories
區段允許您新增套件儲存庫,以協助您滿足您的依賴項。build-packages
/build-snaps
定義您的 snap 的建置依賴項。stage-packages
/stage-snaps
定義您的 snap 的執行階段依賴項。override-pull
區段在提取原始碼之前執行一系列命令。craftctl default
執行預設的提取命令。organize
區段將您的檔案移動到正確的目錄,以便可以將二進制檔案和桌面檔案公開給apps
區段。
建置
sudo snapcraft
測試
snap run your-app
手動發佈
snapcraft login # Login with your UbuntuOne credentialssnapcraft upload --release=stable mysnap_latest_amd64.snap
自動建置
- 在您的應用程式開發人員頁面上,按一下
builds
標籤。 - 按一下
login with github
。 - 輸入您的儲存庫詳細資訊。
© 2025 Tauri Contributors. CC-BY / MIT