콘텐츠로 이동
Tauri

AppImage로 배포

AppImage”는 시스템에 설치된 패키지에 의존하지 않고, 대신 애플리케이션에 필요한 종속성과 파일을 모두 번들로 묶은 배포 형식입니다. 이 때문에 출력 파일은 커지지만, 많은 Linux 배포판에서 지원되며 설치 없이 실행할 수 있어 배포가 용이합니다. 사용자는 파일을 실행 파일(chmod a+x MyProject.AppImage)로 만들기만 하면 실행할 수 있습니다(./MyProject.AppImage).

AppImage는 편리하며, 각 배포판의 패키지 관리자용 패키지를 만들 수 없는 경우에도 배포 프로세스를 간소화합니다. 그렇지만 파일 크기가 원래 2~6MB 정도에서 70MB 이상으로 커지므로 사용에 신중을 기해야 합니다.

앱이 오디오/비디오 재생을 수행하는 경우, tauri.conf.json > bundle > linux > appimage > bundleMediaFramework(“미디어 프레임워크 번들” 플래그)를 활성화해야 합니다. 이렇게 하면 미디어 재생에 필요한 gstreamer 파일이 추가되어 AppImage 번들 크기가 증가합니다. 이 플래그는 현재 Ubuntu 빌드 시스템에서만 완벽하게 지원됩니다. 앱 실행 시 필요할 수 있는 모든 플러그인이 자신의 빌드 시스템에 설치되어 있는지 확인하십시오.

Tauri의 “resources 기능”(“추가 파일 포함” 장 참조)을 사용하지 않고 사용자 지정 파일을 AppImage에 포함하려면, 대상 파일이나 폴더 목록을 tauri.conf.json > bundle > linux > appimage > files에 지정합니다. 이 설정 객체는 AppImage 내의 경로를 파일 시스템상의 파일 경로로, tauri.conf.json 파일로부터의 상대 경로로 확장(매핑)합니다. 다음은 설정 예시입니다:

tauri.conf.json
{
"bundle": {
"linux": {
"appimage": {
"files": {
"/usr/share/README.md": "../README.md", // "../README.md" 파일을 "<appimage>/usr/share/README.md"에 복사
"/usr/assets": "../assets/" // "../assets" 디렉토리의 모든 것을 "<appimage>/usr/assets"에 복사
}
}
}
}
}

Tauri가 사용하는 AppImage 도구인 “linuxdeploy”는 현재 ARM AppImage와의 크로스 컴파일을 지원하지 않습니다. 즉, ARM AppImage는 ARM 장치 또는 에뮬레이터에서만 빌드할 수 있습니다.

앱을 빌드하기 위해 에뮬레이션 환경인 “QEMU”를 이용하는 워크플로 사례에 대해서는 GitHub Action 설정 가이드 장을 참조하십시오. 단, 이 처리는 매우 느리므로 Build Minutes(빌드 시간)가 무료인 공개 리포지토리에서만 권장됩니다. 비공개 리포지토리에서는 GitHub의 “ARM 러너”(위 링크)가 비용 효율적이며 설정도 훨씬 간단합니다.

Note

QEMU 읽기 “큐에뮤”. 오픈 소스 CPU/시스템 에뮬레이터. 자세한 내용은 Wikipedia를 참조하십시오.

【※ 이 한국어판은, 「Feb 22, 2025 영문판」에 근거하고 있습니다】


© 2025 Tauri Contributors. CC-BY / MIT