C.W.K.
Stream
Lesson 02 of 07 · published

OS별 번들 타깃

~12 min · tauri, bundle, targets, distribution

Level 0웹 관광객
0 XP0/56 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete
"범용 설치 파일은 없어. 각 OS가 자기 패키지를 기대하고 — 보통 자기 종류 기계에서 빌드되길 원해."

네이티브 포맷

각 데스크톱 OS엔 사용자가 기대하는 설치 포맷이 있어. macOS: .app 번들, 보통 .dmg 안에 담아 배포. Windows: .msi(WiX로) 또는 .exe 설치 파일(NSIS로). Linux: .deb(Debian/Ubuntu), .rpm(Fedora/RHEL), .AppImage(배포판 무관, 어디서나 실행). bundle.targets에서 뭘 만들지 골라 — 현재 OS에서 가능한 전부면 "all", 아니면 특정 목록.

노리는 OS에서 빌드해

중요한 제약: 보통 각 플랫폼 번들을 그 플랫폼 에서 빌드해. macOS 설치 파일엔 Mac이 필요하고(서명이랑 macOS 툴체인 때문), Windows 설치 파일엔 Windows, Linux엔 Linux. 크로스 컴파일이 제한된 형태로 존재하지만 까다로워. 신뢰할 경로는 OS당 빌드 기계야 — 그래서 macOS/Windows/Linux 러너 매트릭스를 가진 CI가 한 push에서 모든 설치 파일을 만드는 표준 방법이야(다음 레슨들이 다뤄).

청중으로 타깃을 골라

모든 포맷을 낼 필요 없어. 사용자가 다 macOS면 dmg만 빌드하고 나머지는 건너뛰어. 섞인 Linux 배포판에 내? AppImage가 제일 넓은 단일 선택이고, 패키지 매니저를 선호하는 사용자엔 .deb/.rpm. 반사적으로 전부 빌드하지 말고 사용자가 실제로 있는 곳에 타깃을 맞춰 — 타깃이 적으면 서명이 단순하고, CI가 작고, 테스트할 게 적어.

Code

번들 타깃 설정·json
// tauri.conf.json — 번들러가 뭘 만들지 골라.
{
  "bundle": {
    "active": true,
    "targets": "all"          // 현재 OS에서 가능한 전부
    // 또는 특정하게:
    // "targets": ["dmg"]                 (macOS만)
    // "targets": ["nsis", "msi"]        (Windows)
    // "targets": ["deb", "appimage"]    (Linux)
  }
}

External links

Exercise

앱의 타깃 매트릭스를 정해: 어떤 OS에 낼지랑 OS별 번들 포맷을 각각 한 문장 근거와 함께 나열해. 그다음 노트북 하나에서 전부 만드는 대신 왜 OS마다 빌드 기계(나 CI 러너)가 필요한지 적어. 서명이랑 CI 레슨이 구체화하기 전에 배포 표면을 계획하는 거야.
Hint
macOS → dmg; Windows → nsis(또는 msi); Linux → appimage(제일 넓음) ± deb/rpm. 각각 빌드에 자기 OS가 필요해, 설치 도구랑 서명이 네이티브라서. 그래서 CI 매트릭스가 존재해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.