[{"data":1,"prerenderedAt":437},["ShallowReactive",2],{"page-zhHant-\u002Fbuild-linux-docker":3},{"id":4,"title":5,"body":6,"description":16,"draft":429,"extension":430,"hero":431,"meta":432,"navigation":133,"path":433,"seo":434,"stem":435,"tags":431,"updatedAt":431,"__hash__":436},"content_zhHant\u002Fbuild-linux-docker.md","Linux建置（使用Docker）",{"type":7,"value":8,"toc":410},"minimark",[9,13,17,22,26,42,45,50,61,65,76,80,90,94,98,153,157,225,229,232,240,244,279,283,287,319,323,338,341,366,370,381,385,406],[10,11,5],"h1",{"id":12},"linux建置使用docker",[14,15,16],"p",{},"如何在Windows、macOS或Linux上使用Docker建置Linux二進位檔案",[18,19,21],"h2",{"id":20},"前置要求","📋 前置要求",[23,24,25],"h3",{"id":25},"所有平台通用",[27,28,29,33,36,39],"ul",{},[30,31,32],"li",{},"Docker Desktop或Docker Engine",[30,34,35],{},"pnpm (v10.2.0或更高版本)",[30,37,38],{},"8GB以上記憶體（16GB推薦）",[30,40,41],{},"20GB以上空閒磁碟空間",[23,43,44],{"id":44},"平台特定要求",[46,47,49],"h4",{"id":48},"windows","Windows",[27,51,52,55,58],{},[30,53,54],{},"Windows 10\u002F11 (64位元)",[30,56,57],{},"WSL 2（推薦）",[30,59,60],{},"PowerShell 5.1或更高版本",[46,62,64],{"id":63},"macos","macOS",[27,66,67,70,73],{},[30,68,69],{},"macOS 10.15或更高版本",[30,71,72],{},"Bash",[30,74,75],{},"Docker Desktop for Mac",[46,77,79],{"id":78},"linux","Linux",[27,81,82,85,88],{},[30,83,84],{},"64位元Linux發行版",[30,86,87],{},"Docker Engine 20.10或更高版本",[30,89,72],{},[18,91,93],{"id":92},"使用方法","🚀 使用方法",[23,95,97],{"id":96},"在windows上建置","在Windows上建置",[99,100,105],"pre",{"className":101,"code":102,"language":103,"meta":104,"style":104},"language-powershell shiki shiki-themes github-light github-dark","# 從專案根目錄執行\npnpm run build:tauri:linux-x64    # x86_64 Linux\npnpm run build:tauri:linux-arm64  # ARM64 Linux\n\n# 或直接執行腳本\npwsh .\\scripts\\build-linux-docker.ps1 -Target x64\npwsh .\\scripts\\build-linux-docker.ps1 -Target arm64\n","powershell","",[106,107,108,116,122,128,135,141,147],"code",{"__ignoreMap":104},[109,110,113],"span",{"class":111,"line":112},"line",1,[109,114,115],{},"# 從專案根目錄執行\n",[109,117,119],{"class":111,"line":118},2,[109,120,121],{},"pnpm run build:tauri:linux-x64    # x86_64 Linux\n",[109,123,125],{"class":111,"line":124},3,[109,126,127],{},"pnpm run build:tauri:linux-arm64  # ARM64 Linux\n",[109,129,131],{"class":111,"line":130},4,[109,132,134],{"emptyLinePlaceholder":133},true,"\n",[109,136,138],{"class":111,"line":137},5,[109,139,140],{},"# 或直接執行腳本\n",[109,142,144],{"class":111,"line":143},6,[109,145,146],{},"pwsh .\\scripts\\build-linux-docker.ps1 -Target x64\n",[109,148,150],{"class":111,"line":149},7,[109,151,152],{},"pwsh .\\scripts\\build-linux-docker.ps1 -Target arm64\n",[23,154,156],{"id":155},"在macos-linux上建置","在macOS \u002F Linux上建置",[99,158,162],{"className":159,"code":160,"language":161,"meta":104,"style":104},"language-bash shiki shiki-themes github-light github-dark","# 從專案根目錄執行\nbash scripts\u002Fbuild-linux-docker.sh x64    # x86_64 Linux\nbash scripts\u002Fbuild-linux-docker.sh arm64  # ARM64 Linux\n\n# 或從app目錄執行\npnpm run build:tauri:linux-docker-x64\npnpm run build:tauri:linux-docker-arm64\n","bash",[106,163,164,169,184,196,200,205,216],{"__ignoreMap":104},[109,165,166],{"class":111,"line":112},[109,167,115],{"class":168},"sJ8bj",[109,170,171,174,178,181],{"class":111,"line":118},[109,172,161],{"class":173},"sScJk",[109,175,177],{"class":176},"sZZnC"," scripts\u002Fbuild-linux-docker.sh",[109,179,180],{"class":176}," x64",[109,182,183],{"class":168},"    # x86_64 Linux\n",[109,185,186,188,190,193],{"class":111,"line":124},[109,187,161],{"class":173},[109,189,177],{"class":176},[109,191,192],{"class":176}," arm64",[109,194,195],{"class":168},"  # ARM64 Linux\n",[109,197,198],{"class":111,"line":130},[109,199,134],{"emptyLinePlaceholder":133},[109,201,202],{"class":111,"line":137},[109,203,204],{"class":168},"# 或從app目錄執行\n",[109,206,207,210,213],{"class":111,"line":143},[109,208,209],{"class":173},"pnpm",[109,211,212],{"class":176}," run",[109,214,215],{"class":176}," build:tauri:linux-docker-x64\n",[109,217,218,220,222],{"class":111,"line":149},[109,219,209],{"class":173},[109,221,212],{"class":176},[109,223,224],{"class":176}," build:tauri:linux-docker-arm64\n",[18,226,228],{"id":227},"建置產物","📦 建置產物",[14,230,231],{},"建置產物將生成在以下目錄中：",[99,233,238],{"className":234,"code":236,"language":237,"meta":104},[235],"language-text","app\u002Fsrc-tauri\u002Ftarget\u002F\n  ├── x86_64-unknown-linux-gnu\u002Frelease\u002Fbundle\u002F\n  │   ├── deb\u002F           # Debian\u002FUbuntu軟體包\n  │   ├── rpm\u002F           # Red Hat\u002FFedora軟體包\n  │   └── appimage\u002F      # AppImage（推薦用於分發）\n  │\n  └── aarch64-unknown-linux-gnu\u002Frelease\u002Fbundle\u002F\n      ├── deb\u002F\n      ├── rpm\u002F\n      └── appimage\u002F\n","text",[106,239,236],{"__ignoreMap":104},[18,241,243],{"id":242},"️-運作原理","⚙️ 運作原理",[245,246,247,265,276],"ol",{},[30,248,249,250,253,254],{},"從",[106,251,252],{},"Dockerfile.linux-build","建置Docker映像",[27,255,256,259,262],{},[30,257,258],{},"基於Rust 1.83 + Debian Bookworm",[30,260,261],{},"安裝Tauri相依套件（WebKit2GTK、GTK3等）",[30,263,264],{},"安裝Node.js 22.x和pnpm",[30,266,267,268],{},"在Docker容器內執行Tauri建置",[27,269,270,273],{},[30,271,272],{},"掛載專案目錄",[30,274,275],{},"使用指定的目標架構進行建置",[30,277,278],{},"將產物輸出到macOS目錄",[18,280,282],{"id":281},"疑難排解","🔧 疑難排解",[23,284,286],{"id":285},"重新建置docker映像","重新建置Docker映像",[99,288,290],{"className":159,"code":289,"language":161,"meta":104,"style":104},"docker build -f Dockerfile.linux-build -t dropwebp-linux-builder --no-cache .\n",[106,291,292],{"__ignoreMap":104},[109,293,294,297,300,304,307,310,313,316],{"class":111,"line":112},[109,295,296],{"class":173},"docker",[109,298,299],{"class":176}," build",[109,301,303],{"class":302},"sj4cs"," -f",[109,305,306],{"class":176}," Dockerfile.linux-build",[109,308,309],{"class":302}," -t",[109,311,312],{"class":176}," dropwebp-linux-builder",[109,314,315],{"class":302}," --no-cache",[109,317,318],{"class":176}," .\n",[23,320,322],{"id":321},"刪除docker映像","刪除Docker映像",[99,324,326],{"className":159,"code":325,"language":161,"meta":104,"style":104},"docker rmi dropwebp-linux-builder\n",[106,327,328],{"__ignoreMap":104},[109,329,330,332,335],{"class":111,"line":112},[109,331,296],{"class":173},[109,333,334],{"class":176}," rmi",[109,336,337],{"class":176}," dropwebp-linux-builder\n",[23,339,340],{"id":340},"清除建置快取",[99,342,344],{"className":159,"code":343,"language":161,"meta":104,"style":104},"rm -rf app\u002Fsrc-tauri\u002Ftarget\u002Fx86_64-unknown-linux-gnu\nrm -rf app\u002Fsrc-tauri\u002Ftarget\u002Faarch64-unknown-linux-gnu\n",[106,345,346,357],{"__ignoreMap":104},[109,347,348,351,354],{"class":111,"line":112},[109,349,350],{"class":173},"rm",[109,352,353],{"class":302}," -rf",[109,355,356],{"class":176}," app\u002Fsrc-tauri\u002Ftarget\u002Fx86_64-unknown-linux-gnu\n",[109,358,359,361,363],{"class":111,"line":118},[109,360,350],{"class":173},[109,362,353],{"class":302},[109,364,365],{"class":176}," app\u002Fsrc-tauri\u002Ftarget\u002Faarch64-unknown-linux-gnu\n",[18,367,369],{"id":368},"注意事項","📝 注意事項",[27,371,372,375,378],{},[30,373,374],{},"初次建置由於Docker映像建置和下載需要較長時間（20-30分鐘）",[30,376,377],{},"後續建置會重用Docker映像，速度較快（10-15分鐘）",[30,379,380],{},"ARM64建置可能比x86_64建置需要更長時間",[18,382,384],{"id":383},"推薦的分發格式","🎯 推薦的分發格式",[27,386,387,394,400],{},[30,388,389,393],{},[390,391,392],"strong",{},"AppImage","：推薦用於分發（適用於所有Linux發行版）",[30,395,396,399],{},[390,397,398],{},".deb","：適用於Debian\u002FUbuntu使用者",[30,401,402,405],{},[390,403,404],{},".rpm","：適用於Red Hat\u002FFedora使用者",[407,408,409],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":104,"searchDepth":118,"depth":118,"links":411},[412,416,420,421,422,427,428],{"id":20,"depth":118,"text":21,"children":413},[414,415],{"id":25,"depth":124,"text":25},{"id":44,"depth":124,"text":44},{"id":92,"depth":118,"text":93,"children":417},[418,419],{"id":96,"depth":124,"text":97},{"id":155,"depth":124,"text":156},{"id":227,"depth":118,"text":228},{"id":242,"depth":118,"text":243},{"id":281,"depth":118,"text":282,"children":423},[424,425,426],{"id":285,"depth":124,"text":286},{"id":321,"depth":124,"text":322},{"id":340,"depth":124,"text":340},{"id":368,"depth":118,"text":369},{"id":383,"depth":118,"text":384},false,"md",null,{},"\u002Fbuild-linux-docker",{"title":5,"description":16},"build-linux-docker","cTOqODbvhnAbPUHbIrdhreZ1wlyEpTS7tJSaaRwrQeg",1780198564827]