콘텐츠로 이동
Tauri

앱 크기

Tauri는 기본적으로 매우 작은 바이너리 크기를 가지지만, 그 한계를 조금 더 넓혀도 문제는 없습니다. 여기서는 최적의 결과를 얻기 위한 몇 가지 팁과 요령을 소개합니다.

작업 중인 프로젝트에 대해 프론트엔드에 의존하지 않고 수행할 수 있는 가장 간단한 크기 개선 중 하나는 “Cargo 프로필”을 추가하는 것입니다.

Stable 버전(안정판)의 Rust 툴체인을 사용하는지, Nightly 버전(나이틀리판/최신 개발판)의 Rust 툴체인을 사용하는지에 따라 사용할 수 있는 옵션이 약간 다릅니다. 고급 사용자가 아닌 경우 안정판 툴체인을 사용하는 것이 좋습니다.

src-tauri/Cargo.toml
[profile.dev]
incremental = true # 바이너리를 더 작은 단계로 컴파일합니다.
[profile.release]
codegen-units = 1 # LLVM이 더 나은 최적화를 수행할 수 있도록 합니다.
lto = true # 링크 타임 최적화를 활성화합니다.
opt-level = "s" # 작은 바이너리 크기를 우선시합니다. 속도를 선호하는 경우 `3`을 사용하십시오.
panic = "abort" # 패닉 핸들러를 비활성화하여 성능을 향상시킵니다.
strip = true # 디버그 심볼이 제거되도록 합니다.
  • incremental: 바이너리를 더 세분화된 단위로 컴파일합니다.
  • codegen-units: 컴파일 시간 최적화를 희생하여 컴파일 시간을 단축합니다.
  • lto: 링크 시 최적화를 활성화합니다.
  • opt-level: 컴파일러의 초점 내용을 결정합니다. “성능” 최적화에는 3을, “크기” 최적화에는 z를, 그 “중간”에는 s를 지정합니다.
  • panic: 오류 처리 시 “패닉 언와인드”(이상, 되감기 정보)를 삭제하여 크기를 줄입니다.
  • strip: 바이너리에서 심볼 또는 디버그 정보를 제거합니다.
  • rpath: 바이너리 내에 필요 정보를 기록(하드 코딩)하여 바이너리에 필요한 동적 라이브러리를 찾는 데 도움을 줍니다.
  • trim-paths: 바이너리에서 기밀일 수 있는 정보를 제거합니다.
  • rustflags: 프로필별로 Rust 컴파일러 플래그를 설정합니다.
    • -Cdebuginfo=0: 빌드에 “debuginfo 심볼”을 포함할지 여부를 지정합니다.
    • -Zthreads=8: 컴파일 시 사용되는 스레드 수를 늘립니다.

© 2025 Tauri Contributors. CC-BY / MIT