[{"data":1,"prerenderedAt":940},["ShallowReactive",2],{"blog-article-\u002Fzh\u002Fblog\u002Fcargo-cache-vs-target-folder":3},{"id":4,"title":5,"author":6,"body":7,"category":924,"cover":925,"coverAlt":926,"description":927,"draft":928,"extension":929,"meta":930,"navigation":309,"path":931,"publishedAt":932,"seo":933,"stem":934,"tags":935,"translationKey":938,"updatedAt":932,"__hash__":939},"articles_zh\u002Fzh\u002Fblog\u002Fcargo-cache-vs-target-folder.md","Cargo 缓存和 target 目录有什么区别？Rust 开发者该删哪个","Harry",{"type":8,"value":9,"toc":908},"minimark",[10,19,30,36,41,44,61,70,222,233,237,243,246,252,255,258,379,386,407,410,446,449,453,460,478,481,493,496,557,571,574,578,581,595,601,604,669,672,714,721,735,739,742,785,791,795,809,819,822,827,830,834,840,844,850,854,857,860,896,904],[11,12,13,14,18],"p",{},"磁盘空间不足时，通常应该先清理不再活跃项目的 ",[15,16,17],"code",{},"target"," 目录。这里保存的是单个 Rust workspace 的构建产物，之后重新编译即可生成。只有在 Cargo 的共享依赖缓存确实很大、已经损坏，或者近期不需要离线开发时，才考虑清理它；代价是后续需要重新下载或解压依赖。",[11,20,21,22,25,26,29],{},"不要直接删除整个 ",[15,23,24],{},".cargo"," 目录。这里还可能包含 Cargo 配置、registry 凭据，以及通过 ",[15,27,28],{},"cargo install"," 安装的命令行工具，它们都不是可以随手删除的缓存。",[31,32,33],"blockquote",{},[11,34,35],{},"本文路径与命令于 2026 年 8 月 12 日在 macOS 15.7.7、Cargo 1.84.0 和 rustc 1.84.0 环境验证。Cargo 支持自定义 Home 和构建目录，执行清理前请以自己机器上的实际路径为准。",[37,38,40],"h2",{"id":39},"简单结论先清-target再考虑-cargo-缓存","简单结论：先清 target，再考虑 Cargo 缓存",[11,42,43],{},"Cargo 会保存两类性质不同、但都可以重新生成的数据：",[45,46,47,54],"ul",{},[48,49,50,51,53],"li",{},"workspace 中的 ",[15,52,17],{}," 目录，保存这个项目的编译结果；",[48,55,56,57,60],{},"Cargo Home（通常为 ",[15,58,59],{},"~\u002F.cargo","），保存共享下载、解压后的依赖源码、Git 依赖、配置、凭据和已安装工具。",[11,62,63,64,66,67,69],{},"区别在于恢复成本。删除 ",[15,65,17],{}," 主要损失编译时间；删除依赖缓存还可能需要网络和重新编译。因此，对大多数开发者来说，废弃项目的 ",[15,68,17],{}," 是更合适的第一清理目标。",[71,72,73,92],"table",{},[74,75,76],"thead",{},[77,78,79,83,86,89],"tr",{},[80,81,82],"th",{},"路径",[80,84,85],{},"包含内容",[80,87,88],{},"是否可以删除",[80,90,91],{},"删除后的影响",[93,94,95,112,128,143,162,181,200],"tbody",{},[77,96,97,103,106,109],{},[98,99,100],"td",{},[15,101,102],{},"project\u002Ftarget",[98,104,105],{},"Debug、Release、增量编译、文档和不同目标平台的构建产物",[98,107,108],{},"可以，先停止构建",[98,110,111],{},"项目需要重新编译",[77,113,114,119,122,125],{},[98,115,116],{},[15,117,118],{},"~\u002F.cargo\u002Fregistry\u002Fcache",[98,120,121],{},"已下载的 crate 压缩包",[98,123,124],{},"通常可以，但要确保能够联网",[98,126,127],{},"Cargo 会重新下载缺失的 crate",[77,129,130,135,138,140],{},[98,131,132],{},[15,133,134],{},"~\u002F.cargo\u002Fregistry\u002Fsrc",[98,136,137],{},"从 registry 解压出的依赖源码",[98,139,124],{},[98,141,142],{},"Cargo 会重新解压或下载",[77,144,145,154,157,159],{},[98,146,147,150,151],{},[15,148,149],{},"~\u002F.cargo\u002Fgit\u002Fdb"," 和 ",[15,152,153],{},"git\u002Fcheckouts",[98,155,156],{},"Git 依赖仓库及其 checkout",[98,158,124],{},[98,160,161],{},"Cargo 会重新拉取和 checkout",[77,163,164,169,175,178],{},[98,165,166],{},[15,167,168],{},"~\u002F.cargo\u002Fbin",[98,170,171,172,174],{},"通过 ",[15,173,28],{}," 安装的工具",[98,176,177],{},"不可以当作缓存删除",[98,179,180],{},"已安装命令会消失",[77,182,183,191,194,197],{},[98,184,185,150,188],{},[15,186,187],{},"config.toml",[15,189,190],{},"credentials.toml",[98,192,193],{},"Cargo 设置和 registry 凭据",[98,195,196],{},"不可以",[98,198,199],{},"构建、registry、代理或登录可能失效",[77,201,202,214,217,219],{},[98,203,204,207,208,207,211],{},[15,205,206],{},"Cargo.toml","、",[15,209,210],{},"Cargo.lock",[15,212,213],{},"src",[98,215,216],{},"项目定义、依赖锁定和源代码",[98,218,196],{},[98,220,221],{},"会直接破坏项目",[11,223,224,225,228,229,232],{},"Windows 的默认 Cargo Home 通常是 ",[15,226,227],{},"%USERPROFILE%\\.cargo","。如果设置了 ",[15,230,231],{},"CARGO_HOME","，无论使用哪个系统，都应以该环境变量指向的位置为准。",[37,234,236],{"id":235},"target-目录为什么会越来越大","target 目录为什么会越来越大？",[11,238,239,240,242],{},"Cargo 默认把构建输出写入 workspace 的 ",[15,241,17],{}," 目录。Debug 和 Release profile 使用不同的子目录；增加编译目标后，不同 target triple 也会保存各自的产物。增量编译还会保留中间数据，以缩短后续构建时间。",[11,244,245],{},"如果一个 workspace 同时构建桌面程序、WebAssembly、多个架构或多套 feature，累计占用远高于源代码大小很正常。Cargo 官方将这些内容视为可以重新生成的构建数据，但删除仍有明确代价：下一次构建会从冷缓存开始。",[11,247,248,249,251],{},"本文实测的 MangoDisk 仓库中，",[15,250,17],{}," 占用了 27 GB。同一台 Mac 上，Cargo registry 压缩包缓存为 189 MB，解压源码为 1.9 GB，Git 数据库为 17 MB。这只是当前机器的实际结果，不代表每个人都能释放同样空间；它说明了为什么应该先测量，而不是默认全局 Cargo 缓存最大。",[37,253,254],{"id":254},"清理前先确认真实路径和大小",[11,256,257],{},"在 macOS 或 Linux 的 Rust workspace 中，可以先执行这些只读命令：",[259,260,265],"pre",{"className":261,"code":262,"language":263,"meta":264,"style":264},"language-bash shiki shiki-themes github-light github-dark","cargo_home=\"${CARGO_HOME:-$HOME\u002F.cargo}\"\n\ndu -sh target 2>\u002Fdev\u002Fnull\ndu -sh \"$cargo_home\u002Fregistry\u002Fcache\" \"$cargo_home\u002Fregistry\u002Fsrc\" \\\n  \"$cargo_home\u002Fgit\u002Fdb\" \"$cargo_home\u002Fgit\u002Fcheckouts\" 2>\u002Fdev\u002Fnull\n","bash","",[15,266,267,304,311,331,357],{"__ignoreMap":264},[268,269,272,276,280,284,286,289,292,295,298,301],"span",{"class":270,"line":271},"line",1,[268,273,275],{"class":274},"sVt8B","cargo_home",[268,277,279],{"class":278},"szBVR","=",[268,281,283],{"class":282},"sZZnC","\"${",[268,285,231],{"class":274},[268,287,288],{"class":278},":-",[268,290,291],{"class":274},"$HOME",[268,293,294],{"class":278},"\u002F",[268,296,297],{"class":282},".",[268,299,300],{"class":274},"cargo",[268,302,303],{"class":282},"}\"\n",[268,305,307],{"class":270,"line":306},2,[268,308,310],{"emptyLinePlaceholder":309},true,"\n",[268,312,314,318,322,325,328],{"class":270,"line":313},3,[268,315,317],{"class":316},"sScJk","du",[268,319,321],{"class":320},"sj4cs"," -sh",[268,323,324],{"class":282}," target",[268,326,327],{"class":278}," 2>",[268,329,330],{"class":282},"\u002Fdev\u002Fnull\n",[268,332,334,336,338,341,344,347,349,351,354],{"class":270,"line":333},4,[268,335,317],{"class":316},[268,337,321],{"class":320},[268,339,340],{"class":282}," \"",[268,342,343],{"class":274},"$cargo_home",[268,345,346],{"class":282},"\u002Fregistry\u002Fcache\"",[268,348,340],{"class":282},[268,350,343],{"class":274},[268,352,353],{"class":282},"\u002Fregistry\u002Fsrc\"",[268,355,356],{"class":320}," \\\n",[268,358,360,363,365,368,370,372,375,377],{"class":270,"line":359},5,[268,361,362],{"class":282},"  \"",[268,364,343],{"class":274},[268,366,367],{"class":282},"\u002Fgit\u002Fdb\"",[268,369,340],{"class":282},[268,371,343],{"class":274},[268,373,374],{"class":282},"\u002Fgit\u002Fcheckouts\"",[268,376,327],{"class":278},[268,378,330],{"class":282},[11,380,381,382,385],{},"Cargo 也可能使用自定义 target 目录。下面的命令会输出 workspace 元数据，其中包含实际的 ",[15,383,384],{},"target_directory","：",[259,387,389],{"className":261,"code":388,"language":263,"meta":264,"style":264},"cargo metadata --no-deps --format-version 1\n",[15,390,391],{"__ignoreMap":264},[268,392,393,395,398,401,404],{"class":270,"line":271},[268,394,300],{"class":316},[268,396,397],{"class":282}," metadata",[268,399,400],{"class":320}," --no-deps",[268,402,403],{"class":320}," --format-version",[268,405,406],{"class":320}," 1\n",[11,408,409],{},"在 PowerShell 中，可以分别检查当前项目和默认 Cargo Home：",[259,411,415],{"className":412,"code":413,"language":414,"meta":264,"style":264},"language-powershell shiki shiki-themes github-light github-dark","$CargoHome = if ($env:CARGO_HOME) { $env:CARGO_HOME } else { Join-Path $HOME \".cargo\" }\n\nGet-ChildItem .\\target -Recurse -File -Force -ErrorAction SilentlyContinue |\n  Measure-Object Length -Sum\nGet-ChildItem \"$CargoHome\\registry\\cache\" -Recurse -File -Force -ErrorAction SilentlyContinue |\n  Measure-Object Length -Sum\n","powershell",[15,416,417,422,426,431,436,441],{"__ignoreMap":264},[268,418,419],{"class":270,"line":271},[268,420,421],{},"$CargoHome = if ($env:CARGO_HOME) { $env:CARGO_HOME } else { Join-Path $HOME \".cargo\" }\n",[268,423,424],{"class":270,"line":306},[268,425,310],{"emptyLinePlaceholder":309},[268,427,428],{"class":270,"line":313},[268,429,430],{},"Get-ChildItem .\\target -Recurse -File -Force -ErrorAction SilentlyContinue |\n",[268,432,433],{"class":270,"line":333},[268,434,435],{},"  Measure-Object Length -Sum\n",[268,437,438],{"class":270,"line":359},[268,439,440],{},"Get-ChildItem \"$CargoHome\\registry\\cache\" -Recurse -File -Force -ErrorAction SilentlyContinue |\n",[268,442,444],{"class":270,"line":443},6,[268,445,435],{},[11,447,448],{},"PowerShell 结果以字节为单位。更重要的是，检查过程能让你在删除前再次确认路径。",[37,450,452],{"id":451},"如何安全清理项目-target-目录","如何安全清理项目 target 目录",[11,454,455,456,459],{},"先停止 ",[15,457,458],{},"cargo build","、测试、正在编译的 rust-analyzer 任务，以及从该 workspace 启动的程序。然后预览 Cargo 准备删除的内容：",[259,461,463],{"className":261,"code":462,"language":263,"meta":264,"style":264},"cargo clean --dry-run -v\n",[15,464,465],{"__ignoreMap":264},[268,466,467,469,472,475],{"class":270,"line":271},[268,468,300],{"class":316},[268,470,471],{"class":282}," clean",[268,473,474],{"class":320}," --dry-run",[268,476,477],{"class":320}," -v\n",[11,479,480],{},"确认范围无误后，清理当前 workspace 的完整 target 目录：",[259,482,484],{"className":261,"code":483,"language":263,"meta":264,"style":264},"cargo clean\n",[15,485,486],{"__ignoreMap":264},[268,487,488,490],{"class":270,"line":271},[268,489,300],{"class":316},[268,491,492],{"class":282}," clean\n",[11,494,495],{},"如果还想保留有用的构建数据，可以缩小清理范围：",[259,497,499],{"className":261,"code":498,"language":263,"meta":264,"style":264},"# 只删除 Release profile 的构建产物\ncargo clean --release\n\n# 只删除生成的文档\ncargo clean --doc\n\n# 只删除 workspace 中一个 package 的构建产物\ncargo clean -p your-package-name\n",[15,500,501,507,516,520,525,534,538,544],{"__ignoreMap":264},[268,502,503],{"class":270,"line":271},[268,504,506],{"class":505},"sJ8bj","# 只删除 Release profile 的构建产物\n",[268,508,509,511,513],{"class":270,"line":306},[268,510,300],{"class":316},[268,512,471],{"class":282},[268,514,515],{"class":320}," --release\n",[268,517,518],{"class":270,"line":313},[268,519,310],{"emptyLinePlaceholder":309},[268,521,522],{"class":270,"line":333},[268,523,524],{"class":505},"# 只删除生成的文档\n",[268,526,527,529,531],{"class":270,"line":359},[268,528,300],{"class":316},[268,530,471],{"class":282},[268,532,533],{"class":320}," --doc\n",[268,535,536],{"class":270,"line":443},[268,537,310],{"emptyLinePlaceholder":309},[268,539,541],{"class":270,"line":540},7,[268,542,543],{"class":505},"# 只删除 workspace 中一个 package 的构建产物\n",[268,545,547,549,551,554],{"class":270,"line":546},8,[268,548,300],{"class":316},[268,550,471],{"class":282},[268,552,553],{"class":320}," -p",[268,555,556],{"class":282}," your-package-name\n",[11,558,559,562,563,566,567,570],{},[15,560,561],{},"cargo clean"," 会遵循 Cargo 配置中的 target 目录。对使用自定义 ",[15,564,565],{},"target-dir"," 的 workspace 来说，这比手动假设目录一定是 ",[15,568,569],{},".\u002Ftarget"," 更稳妥。",[11,572,573],{},"清理后目录重新出现是正常现象。下一次构建会创建它；由于增量编译数据已经删除，第一次完整编译通常会明显变慢。",[37,575,577],{"id":576},"什么情况下应该清理-cargo-共享缓存","什么情况下应该清理 Cargo 共享缓存？",[11,579,580],{},"以下情况适合考虑清理：",[45,582,583,586,589,592],{},[48,584,585],{},"实测缓存占用已经大到值得处理；",[48,587,588],{},"下载的压缩包或 Git 依赖已经损坏；",[48,590,591],{},"旧工具链和项目留下了近期不会再用的依赖；",[48,593,594],{},"现在必须释放空间，而且之后有可靠网络可以恢复依赖。",[11,596,597,598,600],{},"准备乘飞机、需要离线工作或内部 registry 可能不可用时，不建议清理。动手前还应确认团队是否使用了自定义 registry、vendored dependencies 或非默认 ",[15,599,231],{},"。",[11,602,603],{},"Cargo Home 官方文档把 registry 和 Git 相关内容描述为可通过重新解压、checkout 或下载恢复的缓存。如果决定手动删除，请先退出 Cargo 相关进程，设置准确的 Cargo Home，并最后检查一次：",[259,605,607],{"className":261,"code":606,"language":263,"meta":264,"style":264},"cargo_home=\"${CARGO_HOME:-$HOME\u002F.cargo}\"\ndu -sh \"$cargo_home\u002Fregistry\u002Fcache\" \"$cargo_home\u002Fregistry\u002Fsrc\" \\\n  \"$cargo_home\u002Fgit\u002Fdb\" \"$cargo_home\u002Fgit\u002Fcheckouts\" 2>\u002Fdev\u002Fnull\n",[15,608,609,631,651],{"__ignoreMap":264},[268,610,611,613,615,617,619,621,623,625,627,629],{"class":270,"line":271},[268,612,275],{"class":274},[268,614,279],{"class":278},[268,616,283],{"class":282},[268,618,231],{"class":274},[268,620,288],{"class":278},[268,622,291],{"class":274},[268,624,294],{"class":278},[268,626,297],{"class":282},[268,628,300],{"class":274},[268,630,303],{"class":282},[268,632,633,635,637,639,641,643,645,647,649],{"class":270,"line":306},[268,634,317],{"class":316},[268,636,321],{"class":320},[268,638,340],{"class":282},[268,640,343],{"class":274},[268,642,346],{"class":282},[268,644,340],{"class":282},[268,646,343],{"class":274},[268,648,353],{"class":282},[268,650,356],{"class":320},[268,652,653,655,657,659,661,663,665,667],{"class":270,"line":313},[268,654,362],{"class":282},[268,656,343],{"class":274},[268,658,367],{"class":282},[268,660,340],{"class":282},[268,662,343],{"class":274},[268,664,374],{"class":282},[268,666,327],{"class":278},[268,668,330],{"class":282},[11,670,671],{},"然后只删除自己明确选中的缓存子目录：",[259,673,675],{"className":261,"code":674,"language":263,"meta":264,"style":264},"rm -rf \"$cargo_home\u002Fregistry\u002Fcache\" \"$cargo_home\u002Fregistry\u002Fsrc\" \\\n  \"$cargo_home\u002Fgit\u002Fdb\" \"$cargo_home\u002Fgit\u002Fcheckouts\"\n",[15,676,677,699],{"__ignoreMap":264},[268,678,679,682,685,687,689,691,693,695,697],{"class":270,"line":271},[268,680,681],{"class":316},"rm",[268,683,684],{"class":320}," -rf",[268,686,340],{"class":282},[268,688,343],{"class":274},[268,690,346],{"class":282},[268,692,340],{"class":282},[268,694,343],{"class":274},[268,696,353],{"class":282},[268,698,356],{"class":320},[268,700,701,703,705,707,709,711],{"class":270,"line":306},[268,702,362],{"class":282},[268,704,343],{"class":274},[268,706,367],{"class":282},[268,708,340],{"class":282},[268,710,343],{"class":274},[268,712,713],{"class":282},"\u002Fgit\u002Fcheckouts\"\n",[11,715,716,717,720],{},"该命令不会经过废纸篓，绝对不要把它简化成 ",[15,718,719],{},"rm -rf ~\u002F.cargo","。清理后，下一次联网构建可能会重新下载和解压依赖。",[11,722,723,724,727,728,730,731,734],{},"Windows 用户可以使用文件资源管理器，查看并删除 ",[15,725,726],{},"%CARGO_HOME%"," 或 ",[15,729,227],{}," 下对应的缓存子目录。可视化确认能降低误选 ",[15,732,733],{},"bin","、配置或凭据文件的风险。",[37,736,738],{"id":737},"哪些内容绝对不能当作-cargo-缓存删除","哪些内容绝对不能当作 Cargo 缓存删除？",[11,740,741],{},"不要把这些内容列为清理目标：",[45,743,744,757,763,769,782],{},[48,745,746,749,750,207,753,756],{},[15,747,748],{},".cargo\u002Fbin","：这里保存 ",[15,751,752],{},"cargo-audit",[15,754,755],{},"cargo-edit"," 等已安装命令；",[48,758,759,762],{},[15,760,761],{},".cargo\u002Fcredentials.toml","：这里可能保存 registry 登录令牌；",[48,764,765,768],{},[15,766,767],{},".cargo\u002Fconfig.toml","：这里可能定义 registry、alias、网络设置和编译目标行为；",[48,770,771,772,207,774,207,776,727,779,781],{},"项目中的 ",[15,773,206],{},[15,775,210],{},[15,777,778],{},"build.rs",[15,780,213],{},"；",[48,783,784],{},"vendored dependencies 或团队维护的离线镜像，除非负责人已经制定恢复方案。",[11,786,787,788,790],{},"如果不能确认某个目录是否只是缓存，就停在查看步骤。内容位于 ",[15,789,24],{}," 下面，并不等于可以随意删除。",[37,792,794],{"id":793},"使用-mangodisk-检查-rust-构建产物","使用 MangoDisk 检查 Rust 构建产物",[11,796,797,802,803,805,806,808],{},[798,799,801],"a",{"href":800},"\u002Fzh\u002Fdocs\u002Ffeatures\u002Fdeep-clean","MangoDisk 深度清理","可以识别 Rust 项目的 ",[15,804,17],{}," 目录，以及不同平台对应的 Cargo 缓存位置。规则不会把整个 ",[15,807,24],{}," 作为清理目标，项目构建产物也不会默认选中。",[11,810,811,812,814,815,600],{},"扫描在本地完成。你可以先查看路径和实际大小，再决定是否删除；当多个 workspace 各自保存了 ",[15,813,17],{}," 时尤其方便。完整确认和清理历史流程可以查看 ",[798,816,818],{"href":817},"\u002Fzh\u002Fdocs\u002Fsafety","MangoDisk 安全指南",[37,820,821],{"id":821},"常见问题",[823,824,826],"h3",{"id":825},"rust-项目的-target-目录可以安全删除吗","Rust 项目的 target 目录可以安全删除吗？",[11,828,829],{},"可以，前提是它确实是 Cargo 配置的构建输出目录，而且当前没有构建任务。这里保存的是可重新生成的产物，不是项目源代码；删除后需要接受一次更慢的完整编译。",[823,831,833],{"id":832},"cargo-clean-会清理-cargo-下载缓存吗","cargo clean 会清理 Cargo 下载缓存吗？",[11,835,836,837,839],{},"不会。",[15,838,561],{}," 删除的是 target 目录中的构建产物，不会清空 Cargo Home 中的 registry 或 Git 依赖缓存。",[823,841,843],{"id":842},"可以删除-cargolock-来省空间或修复依赖吗","可以删除 Cargo.lock 来省空间或修复依赖吗？",[11,845,846,847,849],{},"不可以。",[15,848,210],{}," 很小，用于记录已经解析的依赖版本。删除它不是磁盘清理，还可能让 Cargo 选择不同的依赖版本。",[823,851,853],{"id":852},"为什么-cargo-缓存和-target-又出现了","为什么 Cargo 缓存和 target 又出现了？",[11,855,856],{},"这是正常现象。项目构建时，Cargo 会重新生成构建产物并恢复缺失的依赖。清理只是删除旧的可再生数据，不会关闭缓存机制。",[37,858,859],{"id":859},"资料来源与延伸阅读",[45,861,862,870,877,884,890],{},[48,863,864],{},[798,865,869],{"href":866,"rel":867},"https:\u002F\u002Fdoc.rust-lang.org\u002Fstable\u002Fcargo\u002Freference\u002Fbuild-cache.html",[868],"nofollow","Cargo Book：Build Cache",[48,871,872],{},[798,873,876],{"href":874,"rel":875},"https:\u002F\u002Fdoc.rust-lang.org\u002Fcargo\u002Fcommands\u002Fcargo-clean.html",[868],"Cargo Book：cargo clean",[48,878,879],{},[798,880,883],{"href":881,"rel":882},"https:\u002F\u002Fdoc.rust-lang.org\u002Fcargo\u002Fguide\u002Fcargo-home.html",[868],"Cargo Book：Cargo Home",[48,885,886],{},[798,887,889],{"href":888},"\u002Fzh\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely","如何安全清理 Xcode Derived Data",[48,891,892],{},[798,893,895],{"href":894},"\u002Fzh\u002Fblog\u002Fwhy-i-built-mangodisk","我为什么开发 MangoDisk",[11,897,898,899,903],{},"希望先直观看清 Rust 构建产物和 Cargo 缓存再决定是否删除？可以",[798,900,902],{"href":901},"\u002Fzh\u002F","下载 MangoDisk","，在本地检查扫描结果。",[905,906,907],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}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}",{"title":264,"searchDepth":306,"depth":306,"links":909},[910,911,912,913,914,915,916,917,923],{"id":39,"depth":306,"text":40},{"id":235,"depth":306,"text":236},{"id":254,"depth":306,"text":254},{"id":451,"depth":306,"text":452},{"id":576,"depth":306,"text":577},{"id":737,"depth":306,"text":738},{"id":793,"depth":306,"text":794},{"id":821,"depth":306,"text":821,"children":918},[919,920,921,922],{"id":825,"depth":313,"text":826},{"id":832,"depth":313,"text":833},{"id":842,"depth":313,"text":843},{"id":852,"depth":313,"text":853},{"id":859,"depth":306,"text":859},"开发者磁盘清理","\u002Fimages\u002Fblog\u002Fcargo-cache-vs-target-folder.webp","将 Rust 依赖包与项目构建产物分开检查后再安全清理","了解 Rust 项目 target 构建产物与 Cargo 依赖缓存的区别、哪些可以安全删除，以及 .cargo 目录中哪些内容绝对不应当作缓存清理",false,"md",{},"\u002Fzh\u002Fblog\u002Fcargo-cache-vs-target-folder","2026-08-12T00:00:00+08:00",{"title":5,"description":927},"zh\u002Fblog\u002Fcargo-cache-vs-target-folder",[936,937,561,924],"Cargo 缓存","Rust target 目录","article-cargo-cache-vs-target-folder","A8fgxJxnWIv7nPCtEFMk-qQ6ClGlNZbBkeyjifdH3cg",1786706051528]