[{"data":1,"prerenderedAt":1568},["ShallowReactive",2],{"page-zhHans-\u002Fbuild-linux":3},{"id":4,"title":5,"body":6,"description":16,"draft":1560,"extension":1561,"hero":1562,"meta":1563,"navigation":599,"path":1564,"seo":1565,"stem":1566,"tags":1562,"updatedAt":1562,"__hash__":1567},"content_zhHans\u002Fbuild-linux.md","为 Linux 构建 Drop Compress Image",{"type":7,"value":8,"toc":1516},"minimark",[9,13,17,21,24,37,41,44,84,88,91,195,199,244,247,260,263,267,270,274,306,309,313,330,333,358,362,381,390,394,397,401,448,452,471,474,478,481,485,502,506,518,522,525,529,567,571,655,658,661,678,681,844,847,895,898,920,924,927,930,951,954,971,975,997,1000,1003,1020,1023,1040,1047,1051,1054,1058,1061,1072,1078,1082,1085,1095,1101,1104,1128,1132,1135,1159,1165,1168,1171,1365,1368,1371,1435,1438,1441,1466,1469,1472,1509,1512],[10,11,5],"h1",{"id":12},"为-linux-构建-drop-compress-image",[14,15,16],"p",{},"本指南将引导您在 Ubuntu 24.04 LTS（和类似的基于 Debian 的发行版）上设置开发环境并构建 Drop Compress Image。",[18,19,20],"h2",{"id":20},"前提条件",[14,22,23],{},"开始之前，请确保您有：",[25,26,27,31,34],"ul",{},[28,29,30],"li",{},"Ubuntu 24.04 LTS 或类似的基于 Debian 的发行版",[28,32,33],{},"安装软件的 sudo 权限",[28,35,36],{},"对终端命令的基本了解",[18,38,40],{"id":39},"步骤-1更新系统包","步骤 1：更新系统包",[14,42,43],{},"首先，更新系统包以确保您有最新版本：",[45,46,51],"pre",{"className":47,"code":48,"language":49,"meta":50,"style":50},"language-bash shiki shiki-themes github-light github-dark","sudo apt update\nsudo apt upgrade -y\n","bash","",[52,53,54,70],"code",{"__ignoreMap":50},[55,56,59,63,67],"span",{"class":57,"line":58},"line",1,[55,60,62],{"class":61},"sScJk","sudo",[55,64,66],{"class":65},"sZZnC"," apt",[55,68,69],{"class":65}," update\n",[55,71,73,75,77,80],{"class":57,"line":72},2,[55,74,62],{"class":61},[55,76,66],{"class":65},[55,78,79],{"class":65}," upgrade",[55,81,83],{"class":82},"sj4cs"," -y\n",[18,85,87],{"id":86},"步骤-2安装构建依赖项","步骤 2：安装构建依赖项",[14,89,90],{},"安装 Tauri 开发所需的基本构建工具和库：",[45,92,94],{"className":47,"code":93,"language":49,"meta":50,"style":50},"# 安装构建必需品和开发库\nsudo apt install -y \\\n  build-essential \\\n  curl \\\n  wget \\\n  file \\\n  libssl-dev \\\n  libgtk-3-dev \\\n  libayatana-appindicator3-dev \\\n  librsvg2-dev \\\n  libwebkit2gtk-4.1-dev \\\n  patchelf\n",[52,95,96,102,117,125,133,141,149,157,165,173,181,189],{"__ignoreMap":50},[55,97,98],{"class":57,"line":58},[55,99,101],{"class":100},"sJ8bj","# 安装构建必需品和开发库\n",[55,103,104,106,108,111,114],{"class":57,"line":72},[55,105,62],{"class":61},[55,107,66],{"class":65},[55,109,110],{"class":65}," install",[55,112,113],{"class":82}," -y",[55,115,116],{"class":82}," \\\n",[55,118,120,123],{"class":57,"line":119},3,[55,121,122],{"class":65},"  build-essential",[55,124,116],{"class":82},[55,126,128,131],{"class":57,"line":127},4,[55,129,130],{"class":65},"  curl",[55,132,116],{"class":82},[55,134,136,139],{"class":57,"line":135},5,[55,137,138],{"class":65},"  wget",[55,140,116],{"class":82},[55,142,144,147],{"class":57,"line":143},6,[55,145,146],{"class":65},"  file",[55,148,116],{"class":82},[55,150,152,155],{"class":57,"line":151},7,[55,153,154],{"class":65},"  libssl-dev",[55,156,116],{"class":82},[55,158,160,163],{"class":57,"line":159},8,[55,161,162],{"class":65},"  libgtk-3-dev",[55,164,116],{"class":82},[55,166,168,171],{"class":57,"line":167},9,[55,169,170],{"class":65},"  libayatana-appindicator3-dev",[55,172,116],{"class":82},[55,174,176,179],{"class":57,"line":175},10,[55,177,178],{"class":65},"  librsvg2-dev",[55,180,116],{"class":82},[55,182,184,187],{"class":57,"line":183},11,[55,185,186],{"class":65},"  libwebkit2gtk-4.1-dev",[55,188,116],{"class":82},[55,190,192],{"class":57,"line":191},12,[55,193,194],{"class":65},"  patchelf\n",[196,197,198],"h3",{"id":198},"这些包的作用",[25,200,201,208,214,220,226,232,238],{},[28,202,203,207],{},[204,205,206],"strong",{},"build-essential",": 提供 GCC、G++ 和 make",[28,209,210,213],{},[204,211,212],{},"libssl-dev",": OpenSSL 开发库",[28,215,216,219],{},[204,217,218],{},"libgtk-3-dev",": UI 的 GTK3 开发库",[28,221,222,225],{},[204,223,224],{},"libayatana-appindicator3-dev",": 系统托盘支持",[28,227,228,231],{},[204,229,230],{},"librsvg2-dev",": SVG 渲染支持",[28,233,234,237],{},[204,235,236],{},"libwebkit2gtk-4.1-dev",": Tauri 的 webview 用 WebKit",[28,239,240,243],{},[204,241,242],{},"patchelf",": AppImage 的 ELF 二进制补丁程序",[196,245,246],{"id":246},"验证安装",[45,248,250],{"className":47,"code":249,"language":49,"meta":50,"style":50},"gcc --version\n",[52,251,252],{"__ignoreMap":50},[55,253,254,257],{"class":57,"line":58},[55,255,256],{"class":61},"gcc",[55,258,259],{"class":82}," --version\n",[14,261,262],{},"您应该看到显示 GCC 版本 13.x 或更高版本的输出。",[18,264,266],{"id":265},"步骤-3安装-rust","步骤 3：安装 Rust",[14,268,269],{},"Drop Compress Image 使用 Rust 构建，因此您需要安装 Rust 工具链。",[196,271,273],{"id":272},"通过-rustup-安装-rust","通过 rustup 安装 Rust",[45,275,277],{"className":47,"code":276,"language":49,"meta":50,"style":50},"curl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\n",[52,278,279],{"__ignoreMap":50},[55,280,281,284,287,290,293,296,299,303],{"class":57,"line":58},[55,282,283],{"class":61},"curl",[55,285,286],{"class":82}," --proto",[55,288,289],{"class":65}," '=https'",[55,291,292],{"class":82}," --tlsv1.2",[55,294,295],{"class":82}," -sSf",[55,297,298],{"class":65}," https:\u002F\u002Fsh.rustup.rs",[55,300,302],{"class":301},"szBVR"," |",[55,304,305],{"class":61}," sh\n",[14,307,308],{},"当提示时，选择选项 1（默认安装）。",[196,310,312],{"id":311},"配置您的-shell","配置您的 Shell",[45,314,316],{"className":47,"code":315,"language":49,"meta":50,"style":50},"source $HOME\u002F.cargo\u002Fenv\n",[52,317,318],{"__ignoreMap":50},[55,319,320,323,327],{"class":57,"line":58},[55,321,322],{"class":82},"source",[55,324,326],{"class":325},"sVt8B"," $HOME",[55,328,329],{"class":65},"\u002F.cargo\u002Fenv\n",[14,331,332],{},"要使其永久化，请将其添加到您的 shell 配置文件：",[45,334,336],{"className":47,"code":335,"language":49,"meta":50,"style":50},"echo 'source $HOME\u002F.cargo\u002Fenv' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n",[52,337,338,352],{"__ignoreMap":50},[55,339,340,343,346,349],{"class":57,"line":58},[55,341,342],{"class":82},"echo",[55,344,345],{"class":65}," 'source $HOME\u002F.cargo\u002Fenv'",[55,347,348],{"class":301}," >>",[55,350,351],{"class":65}," ~\u002F.bashrc\n",[55,353,354,356],{"class":57,"line":72},[55,355,322],{"class":82},[55,357,351],{"class":65},[196,359,361],{"id":360},"验证-rust-安装","验证 Rust 安装",[45,363,365],{"className":47,"code":364,"language":49,"meta":50,"style":50},"rustc --version\ncargo --version\n",[52,366,367,374],{"__ignoreMap":50},[55,368,369,372],{"class":57,"line":58},[55,370,371],{"class":61},"rustc",[55,373,259],{"class":82},[55,375,376,379],{"class":57,"line":72},[55,377,378],{"class":61},"cargo",[55,380,259],{"class":82},[14,382,383,384,386,387,389],{},"您应该看到 ",[52,385,371],{}," 和 ",[52,388,378],{}," 的版本信息。",[18,391,393],{"id":392},"步骤-4安装-nodejs","步骤 4：安装 Node.js",[14,395,396],{},"Drop Compress Image 的前端使用 Vue.js 构建，需要 Node.js。",[196,398,400],{"id":399},"通过-nodesource-存储库安装-nodejs","通过 NodeSource 存储库安装 Node.js",[45,402,404],{"className":47,"code":403,"language":49,"meta":50,"style":50},"# 安装 Node.js 22.x (LTS)\ncurl -fsSL https:\u002F\u002Fdeb.nodesource.com\u002Fsetup_22.x | sudo -E bash -\nsudo apt install -y nodejs\n",[52,405,406,411,435],{"__ignoreMap":50},[55,407,408],{"class":57,"line":58},[55,409,410],{"class":100},"# 安装 Node.js 22.x (LTS)\n",[55,412,413,415,418,421,423,426,429,432],{"class":57,"line":72},[55,414,283],{"class":61},[55,416,417],{"class":82}," -fsSL",[55,419,420],{"class":65}," https:\u002F\u002Fdeb.nodesource.com\u002Fsetup_22.x",[55,422,302],{"class":301},[55,424,425],{"class":61}," sudo",[55,427,428],{"class":82}," -E",[55,430,431],{"class":65}," bash",[55,433,434],{"class":65}," -\n",[55,436,437,439,441,443,445],{"class":57,"line":119},[55,438,62],{"class":61},[55,440,66],{"class":65},[55,442,110],{"class":65},[55,444,113],{"class":82},[55,446,447],{"class":65}," nodejs\n",[196,449,451],{"id":450},"验证-nodejs-安装","验证 Node.js 安装",[45,453,455],{"className":47,"code":454,"language":49,"meta":50,"style":50},"node --version\nnpm --version\n",[52,456,457,464],{"__ignoreMap":50},[55,458,459,462],{"class":57,"line":58},[55,460,461],{"class":61},"node",[55,463,259],{"class":82},[55,465,466,469],{"class":57,"line":72},[55,467,468],{"class":61},"npm",[55,470,259],{"class":82},[14,472,473],{},"您应该看到 Node.js 版本 22.x 或更高版本。",[18,475,477],{"id":476},"步骤-5安装-pnpm","步骤 5：安装 pnpm",[14,479,480],{},"Drop Compress Image 使用 pnpm 作为包管理器，以获得更好的性能和磁盘效率。",[196,482,484],{"id":483},"安装-pnpm","安装 pnpm",[45,486,488],{"className":47,"code":487,"language":49,"meta":50,"style":50},"npm install -g pnpm\n",[52,489,490],{"__ignoreMap":50},[55,491,492,494,496,499],{"class":57,"line":58},[55,493,468],{"class":61},[55,495,110],{"class":65},[55,497,498],{"class":82}," -g",[55,500,501],{"class":65}," pnpm\n",[196,503,505],{"id":504},"验证-pnpm-安装","验证 pnpm 安装",[45,507,509],{"className":47,"code":508,"language":49,"meta":50,"style":50},"pnpm --version\n",[52,510,511],{"__ignoreMap":50},[55,512,513,516],{"class":57,"line":58},[55,514,515],{"class":61},"pnpm",[55,517,259],{"class":82},[18,519,521],{"id":520},"步骤-6设置-vcpkg-并安装依赖项","步骤 6：设置 vcpkg 并安装依赖项",[14,523,524],{},"此项目使用 vcpkg 管理 C\u002FC++ 图像处理库（libaom、libavif、libjxl 等）。",[196,526,528],{"id":527},"安装-vcpkg-前提条件","安装 vcpkg 前提条件",[45,530,532],{"className":47,"code":531,"language":49,"meta":50,"style":50},"# 安装 vcpkg 所需的工具\nsudo apt install -y curl zip unzip tar cmake pkg-config\n",[52,533,534,539],{"__ignoreMap":50},[55,535,536],{"class":57,"line":58},[55,537,538],{"class":100},"# 安装 vcpkg 所需的工具\n",[55,540,541,543,545,547,549,552,555,558,561,564],{"class":57,"line":72},[55,542,62],{"class":61},[55,544,66],{"class":65},[55,546,110],{"class":65},[55,548,113],{"class":82},[55,550,551],{"class":65}," curl",[55,553,554],{"class":65}," zip",[55,556,557],{"class":65}," unzip",[55,559,560],{"class":65}," tar",[55,562,563],{"class":65}," cmake",[55,565,566],{"class":65}," pkg-config\n",[196,568,570],{"id":569},"安装-vcpkg","安装 vcpkg",[45,572,574],{"className":47,"code":573,"language":49,"meta":50,"style":50},"# 克隆 vcpkg\ngit clone https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fvcpkg.git ~\u002Fvcpkg\n\n# 引导 vcpkg\ncd ~\u002Fvcpkg\n.\u002Fbootstrap-vcpkg.sh\n\n# 设置环境变量（添加到 ~\u002F.bashrc）\necho 'export VCPKG_ROOT=\"$HOME\u002Fvcpkg\"' >> ~\u002F.bashrc\necho 'export PATH=\"$VCPKG_ROOT:$PATH\"' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n",[52,575,576,581,595,601,606,613,618,622,627,638,649],{"__ignoreMap":50},[55,577,578],{"class":57,"line":58},[55,579,580],{"class":100},"# 克隆 vcpkg\n",[55,582,583,586,589,592],{"class":57,"line":72},[55,584,585],{"class":61},"git",[55,587,588],{"class":65}," clone",[55,590,591],{"class":65}," https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fvcpkg.git",[55,593,594],{"class":65}," ~\u002Fvcpkg\n",[55,596,597],{"class":57,"line":119},[55,598,600],{"emptyLinePlaceholder":599},true,"\n",[55,602,603],{"class":57,"line":127},[55,604,605],{"class":100},"# 引导 vcpkg\n",[55,607,608,611],{"class":57,"line":135},[55,609,610],{"class":82},"cd",[55,612,594],{"class":65},[55,614,615],{"class":57,"line":143},[55,616,617],{"class":61},".\u002Fbootstrap-vcpkg.sh\n",[55,619,620],{"class":57,"line":151},[55,621,600],{"emptyLinePlaceholder":599},[55,623,624],{"class":57,"line":159},[55,625,626],{"class":100},"# 设置环境变量（添加到 ~\u002F.bashrc）\n",[55,628,629,631,634,636],{"class":57,"line":167},[55,630,342],{"class":82},[55,632,633],{"class":65}," 'export VCPKG_ROOT=\"$HOME\u002Fvcpkg\"'",[55,635,348],{"class":301},[55,637,351],{"class":65},[55,639,640,642,645,647],{"class":57,"line":175},[55,641,342],{"class":82},[55,643,644],{"class":65}," 'export PATH=\"$VCPKG_ROOT:$PATH\"'",[55,646,348],{"class":301},[55,648,351],{"class":65},[55,650,651,653],{"class":57,"line":183},[55,652,322],{"class":82},[55,654,351],{"class":65},[196,656,657],{"id":657},"安装依赖项",[14,659,660],{},"使用自动安装脚本（推荐）：",[45,662,664],{"className":47,"code":663,"language":49,"meta":50,"style":50},"cd ~\u002Fpath\u002Fto\u002FDropWebP\u002Fapp\u002Fsrc-tauri\n.\u002Fsetup-vcpkg.sh\n",[52,665,666,673],{"__ignoreMap":50},[55,667,668,670],{"class":57,"line":58},[55,669,610],{"class":82},[55,671,672],{"class":65}," ~\u002Fpath\u002Fto\u002FDropWebP\u002Fapp\u002Fsrc-tauri\n",[55,674,675],{"class":57,"line":72},[55,676,677],{"class":61},".\u002Fsetup-vcpkg.sh\n",[14,679,680],{},"或手动安装：",[45,682,684],{"className":47,"code":683,"language":49,"meta":50,"style":50},"cd ~\u002Fvcpkg\n\n# x64 Linux 的情况\n.\u002Fvcpkg install aom:x64-linux\n.\u002Fvcpkg install libavif[aom]:x64-linux\n.\u002Fvcpkg install libjxl:x64-linux\n.\u002Fvcpkg install libwebp:x64-linux\n.\u002Fvcpkg install openjpeg:x64-linux\n.\u002Fvcpkg install libjpeg-turbo:x64-linux\n.\u002Fvcpkg install lcms:x64-linux\n\n# ARM64 Linux 的情况\n.\u002Fvcpkg install aom:arm64-linux\n.\u002Fvcpkg install libavif[aom]:arm64-linux\n.\u002Fvcpkg install libjxl:arm64-linux\n.\u002Fvcpkg install libwebp:arm64-linux\n.\u002Fvcpkg install openjpeg:arm64-linux\n.\u002Fvcpkg install libjpeg-turbo:arm64-linux\n.\u002Fvcpkg install lcms:arm64-linux\n",[52,685,686,692,696,701,711,720,729,738,747,756,765,769,774,784,794,804,814,824,834],{"__ignoreMap":50},[55,687,688,690],{"class":57,"line":58},[55,689,610],{"class":82},[55,691,594],{"class":65},[55,693,694],{"class":57,"line":72},[55,695,600],{"emptyLinePlaceholder":599},[55,697,698],{"class":57,"line":119},[55,699,700],{"class":100},"# x64 Linux 的情况\n",[55,702,703,706,708],{"class":57,"line":127},[55,704,705],{"class":61},".\u002Fvcpkg",[55,707,110],{"class":65},[55,709,710],{"class":65}," aom:x64-linux\n",[55,712,713,715,717],{"class":57,"line":135},[55,714,705],{"class":61},[55,716,110],{"class":65},[55,718,719],{"class":65}," libavif[aom]:x64-linux\n",[55,721,722,724,726],{"class":57,"line":143},[55,723,705],{"class":61},[55,725,110],{"class":65},[55,727,728],{"class":65}," libjxl:x64-linux\n",[55,730,731,733,735],{"class":57,"line":151},[55,732,705],{"class":61},[55,734,110],{"class":65},[55,736,737],{"class":65}," libwebp:x64-linux\n",[55,739,740,742,744],{"class":57,"line":159},[55,741,705],{"class":61},[55,743,110],{"class":65},[55,745,746],{"class":65}," openjpeg:x64-linux\n",[55,748,749,751,753],{"class":57,"line":167},[55,750,705],{"class":61},[55,752,110],{"class":65},[55,754,755],{"class":65}," libjpeg-turbo:x64-linux\n",[55,757,758,760,762],{"class":57,"line":175},[55,759,705],{"class":61},[55,761,110],{"class":65},[55,763,764],{"class":65}," lcms:x64-linux\n",[55,766,767],{"class":57,"line":183},[55,768,600],{"emptyLinePlaceholder":599},[55,770,771],{"class":57,"line":191},[55,772,773],{"class":100},"# ARM64 Linux 的情况\n",[55,775,777,779,781],{"class":57,"line":776},13,[55,778,705],{"class":61},[55,780,110],{"class":65},[55,782,783],{"class":65}," aom:arm64-linux\n",[55,785,787,789,791],{"class":57,"line":786},14,[55,788,705],{"class":61},[55,790,110],{"class":65},[55,792,793],{"class":65}," libavif[aom]:arm64-linux\n",[55,795,797,799,801],{"class":57,"line":796},15,[55,798,705],{"class":61},[55,800,110],{"class":65},[55,802,803],{"class":65}," libjxl:arm64-linux\n",[55,805,807,809,811],{"class":57,"line":806},16,[55,808,705],{"class":61},[55,810,110],{"class":65},[55,812,813],{"class":65}," libwebp:arm64-linux\n",[55,815,817,819,821],{"class":57,"line":816},17,[55,818,705],{"class":61},[55,820,110],{"class":65},[55,822,823],{"class":65}," openjpeg:arm64-linux\n",[55,825,827,829,831],{"class":57,"line":826},18,[55,828,705],{"class":61},[55,830,110],{"class":65},[55,832,833],{"class":65}," libjpeg-turbo:arm64-linux\n",[55,835,837,839,841],{"class":57,"line":836},19,[55,838,705],{"class":61},[55,840,110],{"class":65},[55,842,843],{"class":65}," lcms:arm64-linux\n",[14,845,846],{},"安装的库：",[25,848,849,859,865,871,877,883,889],{},[28,850,851,854,855,858],{},[204,852,853],{},"libaom","：AV1 编码器（用于 AVIF 格式，",[204,856,857],{},"必需","）",[28,860,861,864],{},[204,862,863],{},"libavif","：AVIF 图像格式",[28,866,867,870],{},[204,868,869],{},"libjxl","：JPEG XL 图像格式",[28,872,873,876],{},[204,874,875],{},"libwebp","：WebP 图像格式",[28,878,879,882],{},[204,880,881],{},"openjpeg","：JPEG 2000 图像格式",[28,884,885,888],{},[204,886,887],{},"libjpeg-turbo","：JPEG 图像处理（用于 jpegli）",[28,890,891,894],{},[204,892,893],{},"lcms","：Little CMS 色彩管理",[196,896,246],{"id":897},"验证安装-1",[45,899,901],{"className":47,"code":900,"language":49,"meta":50,"style":50},".\u002Fvcpkg list | grep -E \"aom|avif|jxl|webp|openjpeg|jpeg|lcms\"\n",[52,902,903],{"__ignoreMap":50},[55,904,905,907,910,912,915,917],{"class":57,"line":58},[55,906,705],{"class":61},[55,908,909],{"class":65}," list",[55,911,302],{"class":301},[55,913,914],{"class":61}," grep",[55,916,428],{"class":82},[55,918,919],{"class":65}," \"aom|avif|jxl|webp|openjpeg|jpeg|lcms\"\n",[18,921,923],{"id":922},"步骤-7克隆和构建-drop-compress-image","步骤 7：克隆和构建 Drop Compress Image",[14,925,926],{},"现在您已准备好克隆和构建 Drop Compress Image。",[196,928,929],{"id":929},"克隆存储库",[45,931,933],{"className":47,"code":932,"language":49,"meta":50,"style":50},"git clone https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP.git\ncd DropWebP\n",[52,934,935,944],{"__ignoreMap":50},[55,936,937,939,941],{"class":57,"line":58},[55,938,585],{"class":61},[55,940,588],{"class":65},[55,942,943],{"class":65}," https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP.git\n",[55,945,946,948],{"class":57,"line":72},[55,947,610],{"class":82},[55,949,950],{"class":65}," DropWebP\n",[196,952,953],{"id":953},"安装前端依赖项",[45,955,957],{"className":47,"code":956,"language":49,"meta":50,"style":50},"# 安装所有工作区依赖项\npnpm install\n",[52,958,959,964],{"__ignoreMap":50},[55,960,961],{"class":57,"line":58},[55,962,963],{"class":100},"# 安装所有工作区依赖项\n",[55,965,966,968],{"class":57,"line":72},[55,967,515],{"class":61},[55,969,970],{"class":65}," install\n",[196,972,974],{"id":973},"安装-tauri-cli-v2","安装 Tauri CLI v2",[45,976,978],{"className":47,"code":977,"language":49,"meta":50,"style":50},"# 全局安装 Tauri CLI v2\npnpm add -g @tauri-apps\u002Fcli@next\n",[52,979,980,985],{"__ignoreMap":50},[55,981,982],{"class":57,"line":58},[55,983,984],{"class":100},"# 全局安装 Tauri CLI v2\n",[55,986,987,989,992,994],{"class":57,"line":72},[55,988,515],{"class":61},[55,990,991],{"class":65}," add",[55,993,498],{"class":82},[55,995,996],{"class":65}," @tauri-apps\u002Fcli@next\n",[196,998,999],{"id":999},"构建应用程序",[14,1001,1002],{},"开发模式：",[45,1004,1006],{"className":47,"code":1005,"language":49,"meta":50,"style":50},"# 在开发模式下运行\npnpm dev:tauri\n",[52,1007,1008,1013],{"__ignoreMap":50},[55,1009,1010],{"class":57,"line":58},[55,1011,1012],{"class":100},"# 在开发模式下运行\n",[55,1014,1015,1017],{"class":57,"line":72},[55,1016,515],{"class":61},[55,1018,1019],{"class":65}," dev:tauri\n",[14,1021,1022],{},"生产模式：",[45,1024,1026],{"className":47,"code":1025,"language":49,"meta":50,"style":50},"# 为生产构建\npnpm build:tauri\n",[52,1027,1028,1033],{"__ignoreMap":50},[55,1029,1030],{"class":57,"line":58},[55,1031,1032],{"class":100},"# 为生产构建\n",[55,1034,1035,1037],{"class":57,"line":72},[55,1036,515],{"class":61},[55,1038,1039],{"class":65}," build:tauri\n",[14,1041,1042,1043,1046],{},"构建的应用程序将在 ",[52,1044,1045],{},"app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002F"," 中。",[18,1048,1050],{"id":1049},"步骤-8分发格式","步骤 8：分发格式",[14,1052,1053],{},"Linux 上的 Tauri 可以生成多种分发格式：",[196,1055,1057],{"id":1056},"appimage推荐","AppImage（推荐）",[14,1059,1060],{},"AppImage 是一种通用包格式，可在大多数 Linux 发行版上运行：",[45,1062,1064],{"className":47,"code":1063,"language":49,"meta":50,"style":50},"pnpm build:tauri\n",[52,1065,1066],{"__ignoreMap":50},[55,1067,1068,1070],{"class":57,"line":58},[55,1069,515],{"class":61},[55,1071,1039],{"class":65},[14,1073,1074,1075,1046],{},"AppImage 将在 ",[52,1076,1077],{},"app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fappimage\u002F",[196,1079,1081],{"id":1080},"debian-包-deb","Debian 包 (.deb)",[14,1083,1084],{},"对于基于 Debian\u002FUbuntu 的发行版：",[45,1086,1087],{"className":47,"code":1063,"language":49,"meta":50,"style":50},[52,1088,1089],{"__ignoreMap":50},[55,1090,1091,1093],{"class":57,"line":58},[55,1092,515],{"class":61},[55,1094,1039],{"class":65},[14,1096,1097,1098,1046],{},".deb 包将在 ",[52,1099,1100],{},"app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fdeb\u002F",[14,1102,1103],{},"安装它：",[45,1105,1107],{"className":47,"code":1106,"language":49,"meta":50,"style":50},"sudo dpkg -i app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fdeb\u002F*.deb\n",[52,1108,1109],{"__ignoreMap":50},[55,1110,1111,1113,1116,1119,1122,1125],{"class":57,"line":58},[55,1112,62],{"class":61},[55,1114,1115],{"class":65}," dpkg",[55,1117,1118],{"class":82}," -i",[55,1120,1121],{"class":65}," app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fdeb\u002F",[55,1123,1124],{"class":82},"*",[55,1126,1127],{"class":65},".deb\n",[196,1129,1131],{"id":1130},"rpm-包-rpm","RPM 包 (.rpm)",[14,1133,1134],{},"对于基于 Red Hat\u002FFedora 的发行版，您需要安装额外的工具：",[45,1136,1138],{"className":47,"code":1137,"language":49,"meta":50,"style":50},"sudo apt install -y rpm\npnpm build:tauri\n",[52,1139,1140,1153],{"__ignoreMap":50},[55,1141,1142,1144,1146,1148,1150],{"class":57,"line":58},[55,1143,62],{"class":61},[55,1145,66],{"class":65},[55,1147,110],{"class":65},[55,1149,113],{"class":82},[55,1151,1152],{"class":65}," rpm\n",[55,1154,1155,1157],{"class":57,"line":72},[55,1156,515],{"class":61},[55,1158,1039],{"class":65},[14,1160,1161,1162,1046],{},".rpm 包将在 ",[52,1163,1164],{},"app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Frpm\u002F",[18,1166,1167],{"id":1167},"故障排除",[196,1169,1170],{"id":1170},"常见问题",[1172,1173,1174,1206,1265,1314,1345],"ol",{},[28,1175,1176,1179,1182,1183],{},[204,1177,1178],{},"缺少 libwebkit2gtk-4.1",[1180,1181],"br",{},"如果您收到有关缺少 webkit 库的错误：",[45,1184,1186],{"className":47,"code":1185,"language":49,"meta":50,"style":50},"# 尝试旧版 webkit\nsudo apt install -y libwebkit2gtk-4.0-dev\n",[52,1187,1188,1193],{"__ignoreMap":50},[55,1189,1190],{"class":57,"line":58},[55,1191,1192],{"class":100},"# 尝试旧版 webkit\n",[55,1194,1195,1197,1199,1201,1203],{"class":57,"line":72},[55,1196,62],{"class":61},[55,1198,66],{"class":65},[55,1200,110],{"class":65},[55,1202,113],{"class":82},[55,1204,1205],{"class":65}," libwebkit2gtk-4.0-dev\n",[28,1207,1208,1211],{},[204,1209,1210],{},"npm\u002Fpnpm 权限被拒绝",[45,1212,1214],{"className":47,"code":1213,"language":49,"meta":50,"style":50},"# 修复 npm 全局目录权限\nmkdir -p ~\u002F.npm-global\nnpm config set prefix '~\u002F.npm-global'\necho 'export PATH=~\u002F.npm-global\u002Fbin:$PATH' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n",[52,1215,1216,1221,1232,1248,1259],{"__ignoreMap":50},[55,1217,1218],{"class":57,"line":58},[55,1219,1220],{"class":100},"# 修复 npm 全局目录权限\n",[55,1222,1223,1226,1229],{"class":57,"line":72},[55,1224,1225],{"class":61},"mkdir",[55,1227,1228],{"class":82}," -p",[55,1230,1231],{"class":65}," ~\u002F.npm-global\n",[55,1233,1234,1236,1239,1242,1245],{"class":57,"line":119},[55,1235,468],{"class":61},[55,1237,1238],{"class":65}," config",[55,1240,1241],{"class":65}," set",[55,1243,1244],{"class":65}," prefix",[55,1246,1247],{"class":65}," '~\u002F.npm-global'\n",[55,1249,1250,1252,1255,1257],{"class":57,"line":127},[55,1251,342],{"class":82},[55,1253,1254],{"class":65}," 'export PATH=~\u002F.npm-global\u002Fbin:$PATH'",[55,1256,348],{"class":301},[55,1258,351],{"class":65},[55,1260,1261,1263],{"class":57,"line":135},[55,1262,322],{"class":82},[55,1264,351],{"class":65},[28,1266,1267,1270],{},[204,1268,1269],{},"原生依赖项构建失败",[45,1271,1273],{"className":47,"code":1272,"language":49,"meta":50,"style":50},"# 清理构建缓存\ncargo clean\npnpm clean\n\n# 重新构建所有内容\npnpm install\npnpm build:tauri\n",[52,1274,1275,1280,1287,1293,1297,1302,1308],{"__ignoreMap":50},[55,1276,1277],{"class":57,"line":58},[55,1278,1279],{"class":100},"# 清理构建缓存\n",[55,1281,1282,1284],{"class":57,"line":72},[55,1283,378],{"class":61},[55,1285,1286],{"class":65}," clean\n",[55,1288,1289,1291],{"class":57,"line":119},[55,1290,515],{"class":61},[55,1292,1286],{"class":65},[55,1294,1295],{"class":57,"line":127},[55,1296,600],{"emptyLinePlaceholder":599},[55,1298,1299],{"class":57,"line":135},[55,1300,1301],{"class":100},"# 重新构建所有内容\n",[55,1303,1304,1306],{"class":57,"line":143},[55,1305,515],{"class":61},[55,1307,970],{"class":65},[55,1309,1310,1312],{"class":57,"line":151},[55,1311,515],{"class":61},[55,1313,1039],{"class":65},[28,1315,1316,1319],{},[204,1317,1318],{},"AppImage 不可执行",[45,1320,1322],{"className":47,"code":1321,"language":49,"meta":50,"style":50},"# 使 AppImage 可执行\nchmod +x app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fappimage\u002F*.AppImage\n",[52,1323,1324,1329],{"__ignoreMap":50},[55,1325,1326],{"class":57,"line":58},[55,1327,1328],{"class":100},"# 使 AppImage 可执行\n",[55,1330,1331,1334,1337,1340,1342],{"class":57,"line":72},[55,1332,1333],{"class":61},"chmod",[55,1335,1336],{"class":65}," +x",[55,1338,1339],{"class":65}," app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fappimage\u002F",[55,1341,1124],{"class":82},[55,1343,1344],{"class":65},".AppImage\n",[28,1346,1347,1350,1352,1353],{},[204,1348,1349],{},"缺少 GLIBC 版本",[1180,1351],{},"如果您看到有关 GLIBC 版本的错误，请确保您使用的是 Ubuntu 24.04 LTS 或更新版本：",[45,1354,1356],{"className":47,"code":1355,"language":49,"meta":50,"style":50},"ldd --version\n",[52,1357,1358],{"__ignoreMap":50},[55,1359,1360,1363],{"class":57,"line":58},[55,1361,1362],{"class":61},"ldd",[55,1364,259],{"class":82},[196,1366,1367],{"id":1367},"图形驱动程序问题",[14,1369,1370],{},"为了获得最佳性能，请确保已安装适当的图形驱动程序：",[45,1372,1374],{"className":47,"code":1373,"language":49,"meta":50,"style":50},"# 对于 NVIDIA\nsudo ubuntu-drivers autoinstall\n\n# 对于 AMD\nsudo apt install -y mesa-vulkan-drivers\n\n# 对于 Intel\nsudo apt install -y intel-media-va-driver\n",[52,1375,1376,1381,1391,1395,1400,1413,1417,1422],{"__ignoreMap":50},[55,1377,1378],{"class":57,"line":58},[55,1379,1380],{"class":100},"# 对于 NVIDIA\n",[55,1382,1383,1385,1388],{"class":57,"line":72},[55,1384,62],{"class":61},[55,1386,1387],{"class":65}," ubuntu-drivers",[55,1389,1390],{"class":65}," autoinstall\n",[55,1392,1393],{"class":57,"line":119},[55,1394,600],{"emptyLinePlaceholder":599},[55,1396,1397],{"class":57,"line":127},[55,1398,1399],{"class":100},"# 对于 AMD\n",[55,1401,1402,1404,1406,1408,1410],{"class":57,"line":135},[55,1403,62],{"class":61},[55,1405,66],{"class":65},[55,1407,110],{"class":65},[55,1409,113],{"class":82},[55,1411,1412],{"class":65}," mesa-vulkan-drivers\n",[55,1414,1415],{"class":57,"line":143},[55,1416,600],{"emptyLinePlaceholder":599},[55,1418,1419],{"class":57,"line":151},[55,1420,1421],{"class":100},"# 对于 Intel\n",[55,1423,1424,1426,1428,1430,1432],{"class":57,"line":159},[55,1425,62],{"class":61},[55,1427,66],{"class":65},[55,1429,110],{"class":65},[55,1431,113],{"class":82},[55,1433,1434],{"class":65}," intel-media-va-driver\n",[196,1436,1437],{"id":1437},"获取帮助",[14,1439,1440],{},"如果您遇到此处未涵盖的问题：",[1172,1442,1443,1454,1463],{},[28,1444,1445,1446,1453],{},"检查 ",[1447,1448,1452],"a",{"href":1449,"rel":1450},"https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP",[1451],"nofollow","Drop Compress Image 存储库"," 的已知问题",[28,1455,1456,1457,1462],{},"查看 ",[1447,1458,1461],{"href":1459,"rel":1460},"https:\u002F\u002Fv2.tauri.app\u002Fstart\u002Fprerequisites\u002F",[1451],"Tauri v2 文档"," 以获取 Linux 特定指导",[28,1464,1465],{},"搜索现有的 GitHub 问题或创建新问题",[18,1467,1468],{"id":1468},"下一步",[14,1470,1471],{},"成功构建 Drop Compress Image 后：",[1172,1473,1474,1484,1494,1500],{},[28,1475,1476,1479,1480,1483],{},[204,1477,1478],{},"运行测试","：执行 ",[52,1481,1482],{},"pnpm test"," 确保一切正常工作",[28,1485,1486,1489,1490,1493],{},[204,1487,1488],{},"开发","：使用 ",[52,1491,1492],{},"pnpm dev:tauri"," 进行热重载开发",[28,1495,1496,1499],{},[204,1497,1498],{},"自定义","：探索代码库并进行修改",[28,1501,1502,1489,1505,1508],{},[204,1503,1504],{},"分发",[52,1506,1507],{},"pnpm build:tauri"," 创建可分发的包",[14,1510,1511],{},"您现在已准备好在 Linux 上开发和构建 Drop Compress Image！",[1513,1514,1515],"style",{},"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}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":50,"searchDepth":72,"depth":72,"links":1517},[1518,1519,1520,1524,1529,1533,1537,1543,1549,1554,1559],{"id":20,"depth":72,"text":20},{"id":39,"depth":72,"text":40},{"id":86,"depth":72,"text":87,"children":1521},[1522,1523],{"id":198,"depth":119,"text":198},{"id":246,"depth":119,"text":246},{"id":265,"depth":72,"text":266,"children":1525},[1526,1527,1528],{"id":272,"depth":119,"text":273},{"id":311,"depth":119,"text":312},{"id":360,"depth":119,"text":361},{"id":392,"depth":72,"text":393,"children":1530},[1531,1532],{"id":399,"depth":119,"text":400},{"id":450,"depth":119,"text":451},{"id":476,"depth":72,"text":477,"children":1534},[1535,1536],{"id":483,"depth":119,"text":484},{"id":504,"depth":119,"text":505},{"id":520,"depth":72,"text":521,"children":1538},[1539,1540,1541,1542],{"id":527,"depth":119,"text":528},{"id":569,"depth":119,"text":570},{"id":657,"depth":119,"text":657},{"id":897,"depth":119,"text":246},{"id":922,"depth":72,"text":923,"children":1544},[1545,1546,1547,1548],{"id":929,"depth":119,"text":929},{"id":953,"depth":119,"text":953},{"id":973,"depth":119,"text":974},{"id":999,"depth":119,"text":999},{"id":1049,"depth":72,"text":1050,"children":1550},[1551,1552,1553],{"id":1056,"depth":119,"text":1057},{"id":1080,"depth":119,"text":1081},{"id":1130,"depth":119,"text":1131},{"id":1167,"depth":72,"text":1167,"children":1555},[1556,1557,1558],{"id":1170,"depth":119,"text":1170},{"id":1367,"depth":119,"text":1367},{"id":1437,"depth":119,"text":1437},{"id":1468,"depth":72,"text":1468},false,"md",null,{},"\u002Fbuild-linux",{"title":5,"description":16},"build-linux","eBP1q4NpBN2_v6Sf9XPRTONix30pE9ABFoKYTR36NZ4",1780198564345]