[{"data":1,"prerenderedAt":1566},["ShallowReactive",2],{"blog-index-ja":3},[4,940,1475],{"id":5,"title":6,"author":7,"body":8,"category":924,"cover":925,"coverAlt":926,"description":927,"draft":928,"extension":929,"meta":930,"navigation":308,"path":931,"publishedAt":932,"seo":933,"stem":934,"tags":935,"translationKey":938,"updatedAt":932,"__hash__":939},"articles_ja\u002Fja\u002Fblog\u002Fcargo-cache-vs-target-folder.md","Cargo キャッシュと target フォルダーの違い：削除してよいのはどれ？","Harry",{"type":9,"value":10,"toc":908},"minimark",[11,20,30,36,41,44,61,70,221,232,236,242,245,251,254,257,378,385,406,409,445,448,452,459,477,480,492,495,556,570,573,577,580,594,600,603,668,671,713,720,734,738,741,784,790,794,808,819,822,827,830,834,840,844,850,854,857,860,896,904],[12,13,14,15,19],"p",{},"空き容量を増やしたい場合は、まず使っていないプロジェクトの ",[16,17,18],"code",{},"target"," フォルダーから整理するのがおすすめです。ここにあるのは Rust workspace ごとのビルド成果物で、必要になれば再コンパイルできます。Cargo の共有キャッシュを消すのは、実際に大きな容量を占めている、データが壊れている、しばらくオフライン作業をしない、といった場合に限るとよいでしょう。削除後は依存パッケージの再ダウンロードや展開が必要です。",[12,21,22,25,26,29],{},[16,23,24],{},".cargo"," フォルダー全体を削除してはいけません。Cargo の設定、registry の認証情報、",[16,27,28],{},"cargo install"," で導入したコマンドも保存されており、これらはキャッシュではありません。",[31,32,33],"blockquote",{},[12,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共有キャッシュはその後","結論：まず target、共有キャッシュはその後",[12,42,43],{},"Cargo が保存する再生成可能なデータは、大きく次の 2 種類に分かれます。",[45,46,47,54],"ul",{},[48,49,50,51,53],"li",{},"workspace の ",[16,52,18],{}," フォルダー：そのプロジェクトのコンパイル結果",[48,55,56,57,60],{},"Cargo Home（通常は ",[16,58,59],{},"~\u002F.cargo","）：共有ダウンロード、展開済みの依存ソース、Git 依存関係、設定、認証情報、インストール済みツール",[12,62,63,64,66,67,69],{},"違うのは、元に戻すためのコストです。",[16,65,18],{}," を削除すると再コンパイルが必要になります。依存関係のキャッシュまで削除すると、再コンパイルに加えてネットワーク接続も必要になる場合があります。そのため、通常は古いプロジェクトの ",[16,68,18],{}," を先に確認する方が効率的です。",[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,180,199],"tbody",{},[77,96,97,103,106,109],{},[98,99,100],"td",{},[16,101,102],{},"project\u002Ftarget",[98,104,105],{},"Debug・Release ビルド、インクリメンタルデータ、ドキュメント、ターゲット別の成果物",[98,107,108],{},"ビルド停止後なら削除可能",[98,110,111],{},"プロジェクトを再コンパイルする",[77,113,114,119,122,125],{},[98,115,116],{},[16,117,118],{},"~\u002F.cargo\u002Fregistry\u002Fcache",[98,120,121],{},"ダウンロード済み crate の圧縮ファイル",[98,123,124],{},"オンラインなら通常は削除可能",[98,126,127],{},"不足分を再ダウンロードする",[77,129,130,135,138,140],{},[98,131,132],{},[16,133,134],{},"~\u002F.cargo\u002Fregistry\u002Fsrc",[98,136,137],{},"registry から展開したパッケージのソース",[98,139,124],{},[98,141,142],{},"再展開または再ダウンロードする",[77,144,145,154,157,159],{},[98,146,147,150,151],{},[16,148,149],{},"~\u002F.cargo\u002Fgit\u002Fdb"," と ",[16,152,153],{},"git\u002Fcheckouts",[98,155,156],{},"Git 依存関係の repository と checkout",[98,158,124],{},[98,160,161],{},"再取得して checkout する",[77,163,164,169,174,177],{},[98,165,166],{},[16,167,168],{},"~\u002F.cargo\u002Fbin",[98,170,171,173],{},[16,172,28],{}," で導入したツール",[98,175,176],{},"キャッシュとして削除しない",[98,178,179],{},"インストール済みコマンドが消える",[77,181,182,190,193,196],{},[98,183,184,150,187],{},[16,185,186],{},"config.toml",[16,188,189],{},"credentials.toml",[98,191,192],{},"Cargo の設定と registry の認証情報",[98,194,195],{},"削除しない",[98,197,198],{},"ビルド、registry、プロキシ、認証が使えなくなる可能性がある",[77,200,201,213,216,218],{},[98,202,203,206,207,206,210],{},[16,204,205],{},"Cargo.toml","、",[16,208,209],{},"Cargo.lock",[16,211,212],{},"src",[98,214,215],{},"プロジェクト定義、依存バージョン、ソースコード",[98,217,195],{},[98,219,220],{},"プロジェクト自体が壊れる",[12,222,223,224,227,228,231],{},"Windows の Cargo Home は通常 ",[16,225,226],{},"%USERPROFILE%\\.cargo"," です。",[16,229,230],{},"CARGO_HOME"," を設定している場合は、OS にかかわらず、その環境変数が指す場所を使ってください。",[37,233,235],{"id":234},"target-フォルダーが大きくなる理由","target フォルダーが大きくなる理由",[12,237,238,239,241],{},"Cargo は、デフォルトでは workspace の ",[16,240,18],{}," にビルド出力を保存します。Debug と Release では別のサブフォルダーが使われ、別の target triple 向けにコンパイルすれば、その分の成果物も増えます。インクリメンタルコンパイル用の中間データも、次回以降のビルドを速くするために残ります。",[12,243,244],{},"デスクトップアプリ、WebAssembly、複数アーキテクチャ、さまざまな feature の組み合わせを同じ workspace でビルドしていると、ソースコードのサイズを大きく上回ることがあります。Cargo の公式ドキュメントでも、これらは再生成できるビルドデータとして扱われています。ただし、削除すれば次回のビルドはキャッシュなしで始まります。",[12,246,247,248,250],{},"この記事で確認した MangoDisk の repository では、",[16,249,18],{}," が 27 GB を使用していました。同じ Mac で、Cargo registry の圧縮キャッシュは 189 MB、展開済みソースは 1.9 GB、Cargo Git database は 17 MB でした。これはあくまで手元の環境での測定値で、一般的な削減量を示すものではありません。先にサイズを調べるべき理由がよく分かる例です。",[37,252,253],{"id":253},"削除前に実際のパスとサイズを確認する",[12,255,256],{},"macOS または Linux の Rust workspace では、次の読み取り専用コマンドで一般的な保存先を確認できます。",[258,259,264],"pre",{"className":260,"code":261,"language":262,"meta":263,"style":263},"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","",[16,265,266,303,310,330,356],{"__ignoreMap":263},[267,268,271,275,279,283,285,288,291,294,297,300],"span",{"class":269,"line":270},"line",1,[267,272,274],{"class":273},"sVt8B","cargo_home",[267,276,278],{"class":277},"szBVR","=",[267,280,282],{"class":281},"sZZnC","\"${",[267,284,230],{"class":273},[267,286,287],{"class":277},":-",[267,289,290],{"class":273},"$HOME",[267,292,293],{"class":277},"\u002F",[267,295,296],{"class":281},".",[267,298,299],{"class":273},"cargo",[267,301,302],{"class":281},"}\"\n",[267,304,306],{"class":269,"line":305},2,[267,307,309],{"emptyLinePlaceholder":308},true,"\n",[267,311,313,317,321,324,327],{"class":269,"line":312},3,[267,314,316],{"class":315},"sScJk","du",[267,318,320],{"class":319},"sj4cs"," -sh",[267,322,323],{"class":281}," target",[267,325,326],{"class":277}," 2>",[267,328,329],{"class":281},"\u002Fdev\u002Fnull\n",[267,331,333,335,337,340,343,346,348,350,353],{"class":269,"line":332},4,[267,334,316],{"class":315},[267,336,320],{"class":319},[267,338,339],{"class":281}," \"",[267,341,342],{"class":273},"$cargo_home",[267,344,345],{"class":281},"\u002Fregistry\u002Fcache\"",[267,347,339],{"class":281},[267,349,342],{"class":273},[267,351,352],{"class":281},"\u002Fregistry\u002Fsrc\"",[267,354,355],{"class":319}," \\\n",[267,357,359,362,364,367,369,371,374,376],{"class":269,"line":358},5,[267,360,361],{"class":281},"  \"",[267,363,342],{"class":273},[267,365,366],{"class":281},"\u002Fgit\u002Fdb\"",[267,368,339],{"class":281},[267,370,342],{"class":273},[267,372,373],{"class":281},"\u002Fgit\u002Fcheckouts\"",[267,375,326],{"class":277},[267,377,329],{"class":281},[12,379,380,381,384],{},"target の保存先は設定で変更できます。次のコマンドが出力する workspace metadata には、実際の ",[16,382,383],{},"target_directory"," が含まれます。",[258,386,388],{"className":260,"code":387,"language":262,"meta":263,"style":263},"cargo metadata --no-deps --format-version 1\n",[16,389,390],{"__ignoreMap":263},[267,391,392,394,397,400,403],{"class":269,"line":270},[267,393,299],{"class":315},[267,395,396],{"class":281}," metadata",[267,398,399],{"class":319}," --no-deps",[267,401,402],{"class":319}," --format-version",[267,404,405],{"class":319}," 1\n",[12,407,408],{},"PowerShell では、現在のプロジェクトと Cargo Home を別々に確認できます。",[258,410,414],{"className":411,"code":412,"language":413,"meta":263,"style":263},"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",[16,415,416,421,425,430,435,440],{"__ignoreMap":263},[267,417,418],{"class":269,"line":270},[267,419,420],{},"$CargoHome = if ($env:CARGO_HOME) { $env:CARGO_HOME } else { Join-Path $HOME \".cargo\" }\n",[267,422,423],{"class":269,"line":305},[267,424,309],{"emptyLinePlaceholder":308},[267,426,427],{"class":269,"line":312},[267,428,429],{},"Get-ChildItem .\\target -Recurse -File -Force -ErrorAction SilentlyContinue |\n",[267,431,432],{"class":269,"line":332},[267,433,434],{},"  Measure-Object Length -Sum\n",[267,436,437],{"class":269,"line":358},[267,438,439],{},"Get-ChildItem \"$CargoHome\\registry\\cache\" -Recurse -File -Force -ErrorAction SilentlyContinue |\n",[267,441,443],{"class":269,"line":442},6,[267,444,434],{},[12,446,447],{},"PowerShell の結果はバイト単位です。容量だけでなく、削除対象のパスが本当に正しいかも確認してください。",[37,449,451],{"id":450},"target-フォルダーを安全にクリーンアップする","target フォルダーを安全にクリーンアップする",[12,453,454,455,458],{},"最初に ",[16,456,457],{},"cargo build","、テスト、コンパイル中の rust-analyzer、workspace から起動しているアプリを停止します。続いて、Cargo が削除する予定のファイルをプレビューします。",[258,460,462],{"className":260,"code":461,"language":262,"meta":263,"style":263},"cargo clean --dry-run -v\n",[16,463,464],{"__ignoreMap":263},[267,465,466,468,471,474],{"class":269,"line":270},[267,467,299],{"class":315},[267,469,470],{"class":281}," clean",[267,472,473],{"class":319}," --dry-run",[267,475,476],{"class":319}," -v\n",[12,478,479],{},"対象に問題がなければ、現在の workspace の target 全体を削除します。",[258,481,483],{"className":260,"code":482,"language":262,"meta":263,"style":263},"cargo clean\n",[16,484,485],{"__ignoreMap":263},[267,486,487,489],{"class":269,"line":270},[267,488,299],{"class":315},[267,490,491],{"class":281}," clean\n",[12,493,494],{},"必要なビルドデータを残したい場合は、対象を絞ることもできます。",[258,496,498],{"className":260,"code":497,"language":262,"meta":263,"style":263},"# Release profile の成果物だけを削除\ncargo clean --release\n\n# 生成したドキュメントだけを削除\ncargo clean --doc\n\n# workspace 内の 1 つの package だけを削除\ncargo clean -p your-package-name\n",[16,499,500,506,515,519,524,533,537,543],{"__ignoreMap":263},[267,501,502],{"class":269,"line":270},[267,503,505],{"class":504},"sJ8bj","# Release profile の成果物だけを削除\n",[267,507,508,510,512],{"class":269,"line":305},[267,509,299],{"class":315},[267,511,470],{"class":281},[267,513,514],{"class":319}," --release\n",[267,516,517],{"class":269,"line":312},[267,518,309],{"emptyLinePlaceholder":308},[267,520,521],{"class":269,"line":332},[267,522,523],{"class":504},"# 生成したドキュメントだけを削除\n",[267,525,526,528,530],{"class":269,"line":358},[267,527,299],{"class":315},[267,529,470],{"class":281},[267,531,532],{"class":319}," --doc\n",[267,534,535],{"class":269,"line":442},[267,536,309],{"emptyLinePlaceholder":308},[267,538,540],{"class":269,"line":539},7,[267,541,542],{"class":504},"# workspace 内の 1 つの package だけを削除\n",[267,544,546,548,550,553],{"class":269,"line":545},8,[267,547,299],{"class":315},[267,549,470],{"class":281},[267,551,552],{"class":319}," -p",[267,554,555],{"class":281}," your-package-name\n",[12,557,558,561,562,565,566,569],{},[16,559,560],{},"cargo clean"," は Cargo に設定された target の保存先を使います。独自の ",[16,563,564],{},"target-dir"," を指定している workspace では、手作業で ",[16,567,568],{},".\u002Ftarget"," と決めつけるより安全です。",[12,571,572],{},"削除後にフォルダーが再び作られるのは正常です。次回のビルドで必要なデータが生成されます。インクリメンタルデータも消えているため、最初のフルビルドは通常より長くかかります。",[37,574,576],{"id":575},"cargo-の共有キャッシュを消すタイミング","Cargo の共有キャッシュを消すタイミング",[12,578,579],{},"共有キャッシュの整理を検討してよいのは、次のような場合です。",[45,581,582,585,588,591],{},[48,583,584],{},"測定した結果、無視できない容量を使っている",[48,586,587],{},"ダウンロードした archive や Git 依存関係が壊れている",[48,589,590],{},"古い toolchain やプロジェクトの依存関係を当面使わない",[48,592,593],{},"今すぐ容量が必要で、後から安定したネットワークを利用できる",[12,595,596,597,599],{},"移動中やオフライン作業の直前、社内 registry に接続できない可能性があるときは避けてください。独自 registry、vendored dependencies、標準以外の ",[16,598,230],{}," をチームで使っていないかも確認しましょう。",[12,601,602],{},"Cargo Home の公式ドキュメントでは、registry と Git のデータは、再展開、checkout、ダウンロードによって復元できるキャッシュとして説明されています。手動で削除する場合は Cargo 関連のプロセスを終了し、正しい Cargo Home を設定して、最後にもう一度サイズを確認します。",[258,604,606],{"className":260,"code":605,"language":262,"meta":263,"style":263},"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",[16,607,608,630,650],{"__ignoreMap":263},[267,609,610,612,614,616,618,620,622,624,626,628],{"class":269,"line":270},[267,611,274],{"class":273},[267,613,278],{"class":277},[267,615,282],{"class":281},[267,617,230],{"class":273},[267,619,287],{"class":277},[267,621,290],{"class":273},[267,623,293],{"class":277},[267,625,296],{"class":281},[267,627,299],{"class":273},[267,629,302],{"class":281},[267,631,632,634,636,638,640,642,644,646,648],{"class":269,"line":305},[267,633,316],{"class":315},[267,635,320],{"class":319},[267,637,339],{"class":281},[267,639,342],{"class":273},[267,641,345],{"class":281},[267,643,339],{"class":281},[267,645,342],{"class":273},[267,647,352],{"class":281},[267,649,355],{"class":319},[267,651,652,654,656,658,660,662,664,666],{"class":269,"line":312},[267,653,361],{"class":281},[267,655,342],{"class":273},[267,657,366],{"class":281},[267,659,339],{"class":281},[267,661,342],{"class":273},[267,663,373],{"class":281},[267,665,326],{"class":277},[267,667,329],{"class":281},[12,669,670],{},"そのうえで、自分で選んだキャッシュのサブフォルダーだけを削除します。",[258,672,674],{"className":260,"code":673,"language":262,"meta":263,"style":263},"rm -rf \"$cargo_home\u002Fregistry\u002Fcache\" \"$cargo_home\u002Fregistry\u002Fsrc\" \\\n  \"$cargo_home\u002Fgit\u002Fdb\" \"$cargo_home\u002Fgit\u002Fcheckouts\"\n",[16,675,676,698],{"__ignoreMap":263},[267,677,678,681,684,686,688,690,692,694,696],{"class":269,"line":270},[267,679,680],{"class":315},"rm",[267,682,683],{"class":319}," -rf",[267,685,339],{"class":281},[267,687,342],{"class":273},[267,689,345],{"class":281},[267,691,339],{"class":281},[267,693,342],{"class":273},[267,695,352],{"class":281},[267,697,355],{"class":319},[267,699,700,702,704,706,708,710],{"class":269,"line":305},[267,701,361],{"class":281},[267,703,342],{"class":273},[267,705,366],{"class":281},[267,707,339],{"class":281},[267,709,342],{"class":273},[267,711,712],{"class":281},"\u002Fgit\u002Fcheckouts\"\n",[12,714,715,716,719],{},"このコマンドはゴミ箱を経由しません。",[16,717,718],{},"rm -rf ~\u002F.cargo"," のように対象を広げないでください。削除後のオンラインビルドでは、依存パッケージの再ダウンロードと展開が発生する場合があります。",[12,721,722,723,726,727,729,730,733],{},"Windows では、エクスプローラーで ",[16,724,725],{},"%CARGO_HOME%"," または ",[16,728,226],{}," を開き、該当するキャッシュのサブフォルダーだけを確認して削除できます。画面で選ぶ方が、",[16,731,732],{},"bin","、設定、認証情報を誤って含めるリスクを減らせます。",[37,735,737],{"id":736},"cargo-キャッシュとして削除してはいけないもの","Cargo キャッシュとして削除してはいけないもの",[12,739,740],{},"次の項目はクリーンアップ対象に含めないでください。",[45,742,743,757,763,769,781],{},[48,744,745,748,749,752,753,756],{},[16,746,747],{},".cargo\u002Fbin","：",[16,750,751],{},"cargo-audit"," や ",[16,754,755],{},"cargo-edit"," など、インストール済みのコマンドが入っている",[48,758,759,762],{},[16,760,761],{},".cargo\u002Fcredentials.toml","：registry のログイントークンが保存されている場合がある",[48,764,765,768],{},[16,766,767],{},".cargo\u002Fconfig.toml","：registry、alias、ネットワーク設定、ビルドターゲットの動作を定義している場合がある",[48,770,771,772,206,774,206,776,206,779],{},"プロジェクトの ",[16,773,205],{},[16,775,209],{},[16,777,778],{},"build.rs",[16,780,212],{},[48,782,783],{},"管理者が復旧手順を用意していない vendored dependencies や社内向けオフラインミラー",[12,785,786,787,789],{},"キャッシュかどうか判断できないフォルダーは、確認するだけにとどめましょう。",[16,788,24],{}," の中にあるという理由だけで、安全に削除できるとは限りません。",[37,791,793],{"id":792},"mangodisk-で-rust-のビルド成果物を確認する","MangoDisk で Rust のビルド成果物を確認する",[12,795,796,801,802,804,805,807],{},[797,798,800],"a",{"href":799},"\u002Fja\u002Fdocs\u002Ffeatures\u002Fdeep-clean","MangoDisk のディープクリーンアップ","は、Rust プロジェクトの ",[16,803,18],{}," フォルダーと、OS ごとの Cargo キャッシュ保存先を検出します。",[16,806,24],{}," 全体を対象にすることはなく、プロジェクトのビルド成果物もデフォルトでは選択されません。",[12,809,810,811,813,814,818],{},"スキャンはローカルで行われます。削除前にパスと実際のサイズを確認できるため、複数の workspace に ",[16,812,18],{}," が残っている場合にも便利です。確認操作とクリーンアップ履歴については、",[797,815,817],{"href":816},"\u002Fja\u002Fdocs\u002Fsafety","MangoDisk の安全性ガイド","をご覧ください。",[37,820,821],{"id":821},"よくある質問",[823,824,826],"h3",{"id":825},"rust-プロジェクトの-target-フォルダーは削除しても安全ですか","Rust プロジェクトの target フォルダーは削除しても安全ですか？",[12,828,829],{},"Cargo に設定されたビルド出力先であり、ビルドが動いていなければ削除できます。プロジェクトのソースコードではなく、再生成できる成果物です。次回はフルビルドになるため、通常より時間がかかります。",[823,831,833],{"id":832},"cargo-clean-で-cargo-のダウンロードキャッシュも消えますか","cargo clean で Cargo のダウンロードキャッシュも消えますか？",[12,835,836,837,839],{},"消えません。",[16,838,560],{}," が削除するのは target 内のビルド成果物です。Cargo Home の registry や Git 依存関係キャッシュは対象外です。",[823,841,843],{"id":842},"容量節約や依存関係の修復のために-cargolock-を消してもよいですか","容量節約や依存関係の修復のために Cargo.lock を消してもよいですか？",[12,845,846,847,849],{},"削除しないでください。",[16,848,209],{}," は小さなファイルで、解決済みの依存バージョンを記録しています。削除はディスク整理にならず、選ばれる依存バージョンが変わる可能性があります。",[823,851,853],{"id":852},"cargo-キャッシュや-target-がまた作られるのはなぜですか","Cargo キャッシュや target がまた作られるのはなぜですか？",[12,855,856],{},"正常な動作です。Cargo はビルド時に成果物を再生成し、不足している依存データを復元します。クリーンアップは古い再生成可能データを消すだけで、キャッシュ機能を無効にするものではありません。",[37,858,859],{"id":859},"参考資料と関連記事",[45,861,862,870,877,884,890],{},[48,863,864],{},[797,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],{},[797,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],{},[797,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],{},[797,887,889],{"href":888},"\u002Fja\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely","Xcode の Derived Data を安全に削除する方法",[48,891,892],{},[797,893,895],{"href":894},"\u002Fja\u002Fblog\u002Fwhy-i-built-mangodisk","MangoDisk を開発した理由",[12,897,898,899,903],{},"Rust のビルド成果物と Cargo キャッシュを画面で比べてから整理したい場合は、",[797,900,902],{"href":901},"\u002Fja\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":263,"searchDepth":305,"depth":305,"links":909},[910,911,912,913,914,915,916,917,923],{"id":39,"depth":305,"text":40},{"id":234,"depth":305,"text":235},{"id":253,"depth":305,"text":253},{"id":450,"depth":305,"text":451},{"id":575,"depth":305,"text":576},{"id":736,"depth":305,"text":737},{"id":792,"depth":305,"text":793},{"id":821,"depth":305,"text":821,"children":918},[919,920,921,922],{"id":825,"depth":312,"text":826},{"id":832,"depth":312,"text":833},{"id":842,"depth":312,"text":843},{"id":852,"depth":312,"text":853},{"id":859,"depth":305,"text":859},"開発者向けディスククリーンアップ","\u002Fimages\u002Fblog\u002Fcargo-cache-vs-target-folder.webp","Rust の依存パッケージとプロジェクトのビルド成果物を分けて確認するイメージ","Rust プロジェクトの target と Cargo の依存関係キャッシュの違い、安全に削除できる範囲、.cargo 内で消してはいけないデータを解説します",false,"md",{},"\u002Fja\u002Fblog\u002Fcargo-cache-vs-target-folder","2026-08-12T00:00:00+08:00",{"title":6,"description":927},"ja\u002Fblog\u002Fcargo-cache-vs-target-folder",[936,937,560,924],"Cargo キャッシュ","Rust target フォルダー","article-cargo-cache-vs-target-folder","XYaEl0IK6U1K8A-R7WM8vF3VxPTIz438lXV5X3Nq3Qw",{"id":941,"title":889,"author":7,"body":942,"category":924,"cover":1462,"coverAlt":1463,"description":1464,"draft":928,"extension":929,"meta":1465,"navigation":308,"path":888,"publishedAt":1466,"seo":1467,"stem":1468,"tags":1469,"translationKey":1473,"updatedAt":932,"__hash__":1474},"articles_ja\u002Fja\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely.md",{"type":9,"value":943,"toc":1446},[944,952,959,964,968,971,985,988,991,1008,1011,1015,1094,1105,1109,1112,1139,1142,1146,1149,1197,1200,1216,1219,1237,1240,1286,1289,1293,1300,1303,1340,1343,1346,1349,1352,1355,1359,1366,1375,1377,1381,1384,1388,1391,1395,1398,1402,1405,1408,1436,1443],[12,945,946,947,951],{},"Xcode の Derived Data は通常、削除しても問題ありません。デフォルトのフォルダーに保存されているのは、Xcode が再生成できるビルド成果物やインデックスです。削除しても",[948,949,950],"strong",{},"プロジェクトのソースコードは消えません","。ただし、次回のビルドやインデックス作成には通常より時間がかかります。",[12,953,954,955,958],{},"大切なのは、削除する範囲を間違えないことです。最初に Xcode を終了し、対象が ",[16,956,957],{},"~\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData"," であることを確認してください。Archives フォルダー、シミュレーターデバイス、プロジェクトフォルダーは別のデータです。",[31,960,961],{},[12,962,963],{},"記載しているパスと確認コマンドは、2026 年 8 月 10 日に macOS 15.7.7、Xcode 16.2 で検証しました。Xcode のメニュー構成はバージョンによって変わる場合がありますが、ビルド先を変更していなければ、デフォルトの Derived Data パスと以下のターミナル操作を利用できます。",[37,965,967],{"id":966},"xcode-の-derived-data-とは","Xcode の Derived Data とは？",[12,969,970],{},"Derived Data は、Xcode がプロジェクトをビルドしたり、コードを検索・解析したりするために生成する作業用データの保存場所です。主に次のようなデータが含まれます。",[45,972,973,976,979,982],{},[48,974,975],{},"コンパイル済みの生成物と中間ビルドファイル",[48,977,978],{},"定義へのジャンプ、検索、コード補完に使われるインデックス",[48,980,981],{},"ログなど、プロジェクトごとのビルド補助データ",[48,983,984],{},"ワークスペースで使用する Swift Package のローカルチェックアウトと関連するビルドデータ",[12,986,987],{},"Apple のドキュメントでは、インデックスがワークスペースごとの Derived Data ディレクトリに作成されると説明されています。また Xcode のリリースノートでも、一部のビルド問題を解消する手順として、プロジェクトの Derived Data を削除する方法が案内されています。つまり、ここにあるのは再生成できるデータであり、ソースコードの元データではありません。",[12,989,990],{},"次のような場合は、削除を検討できます。",[45,992,993,996,999,1002,1005],{},[48,994,995],{},"使っていない古いプロジェクトの生成データが数 GB 残っている",[48,997,998],{},"古いビルド結果が残り、同じ問題が繰り返し起きる",[48,1000,1001],{},"コード補完やインデックスの動作がおかしい",[48,1003,1004],{},"Xcode のアップデート後に Swift Package やマクロのビルドが失敗する",[48,1006,1007],{},"初回ビルドが遅くなることを理解したうえで、空き容量を増やしたい",[12,1009,1010],{},"Derived Data があるという理由だけで、定期的に空にする必要はありません。開発中のプロジェクトでは、増分ビルド用のデータによってビルド時間が短縮されます。サイズが小さく問題もないフォルダーを削除しても、空き容量と引き換えにビルド時間が長くなるだけです。",[37,1012,1014],{"id":1013},"安全に削除できるものは","安全に削除できるものは？",[71,1016,1017,1030],{},[74,1018,1019],{},[77,1020,1021,1024,1027],{},[80,1022,1023],{},"場所",[80,1025,1026],{},"推奨される対応",[80,1028,1029],{},"削除後に起こること",[93,1031,1032,1045,1058,1071,1084],{},[77,1033,1034,1039,1042],{},[98,1035,1036],{},[16,1037,1038],{},"~\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\u002FProjectName-*",[98,1040,1041],{},"内容を把握しているプロジェクトなら削除可能",[98,1043,1044],{},"そのプロジェクトが再ビルド、再インデックスされる",[77,1046,1047,1052,1055],{},[98,1048,1049,1051],{},[16,1050,957],{}," 内のすべて",[98,1053,1054],{},"完全にリセットしたい場合は削除可能",[98,1056,1057],{},"すべての Xcode プロジェクトが再ビルド、再インデックスされる",[77,1059,1060,1065,1068],{},[98,1061,1062],{},[16,1063,1064],{},"~\u002FLibrary\u002FDeveloper\u002FXcode\u002FArchives",[98,1066,1067],{},"キャッシュとして扱わず、別途確認する",[98,1069,1070],{},"配布やクラッシュ解析に必要なアーカイブ済みビルドと対応するデバッグシンボルを失う可能性がある",[77,1072,1073,1078,1081],{},[98,1074,1075],{},[16,1076,1077],{},"~\u002FLibrary\u002FDeveloper\u002FCoreSimulator\u002FDevices",[98,1079,1080],{},"別途内容を確認する",[98,1082,1083],{},"シミュレーター内のアプリ、設定、テストデータを失う可能性がある",[77,1085,1086,1089,1091],{},[98,1087,1088],{},"リポジトリまたはプロジェクトのディレクトリ",[98,1090,195],{},[98,1092,1093],{},"実際のソースコードとプロジェクト設定が保存されている",[12,1095,1096,1097,1100,1101,1104],{},"クリーンアップ前に、Xcode の ",[948,1098,1099],{},"Settings → Locations"," も確認してください。Derived Data が ",[948,1102,1103],{},"Custom"," に設定されている場合は、デフォルトのパスではなく、そこに表示される場所を使用します。",[37,1106,1108],{"id":1107},"方法-1finder-で-derived-data-を削除する","方法 1：Finder で Derived Data を削除する",[12,1110,1111],{},"プロジェクトごとのフォルダーを見てから削除したい場合は、Finder を使うのが最もわかりやすい方法です。",[1113,1114,1115,1118,1124,1130,1133,1136],"ol",{},[48,1116,1117],{},"作業を保存し、実行中のビルドやテストを停止します。",[48,1119,1120,1123],{},[948,1121,1122],{},"Xcode → Settings → Locations"," を開きます。",[48,1125,1126,1129],{},[948,1127,1128],{},"Derived Data"," を探し、パスの横にある矢印をクリックして Finder に表示します。",[48,1131,1132],{},"Xcode を終了します。",[48,1134,1135],{},"問題のあるプロジェクトのフォルダーだけをゴミ箱に移動します。完全にリセットしたい場合は、Derived Data ディレクトリの中身をすべてゴミ箱に移動します。",[48,1137,1138],{},"Xcode を開き直し、プロジェクトをもう一度ビルドします。",[12,1140,1141],{},"いったんゴミ箱に移動すれば、短期間は元に戻せます。プロジェクトが問題なく開き、再ビルドできることを確認してから、ゴミ箱を空にしてください。",[37,1143,1145],{"id":1144},"方法-2ターミナルで確認して削除する","方法 2：ターミナルで確認して削除する",[12,1147,1148],{},"まずはフォルダーが存在することと、合計サイズを確認します。",[258,1150,1152],{"className":260,"code":1151,"language":262,"meta":263,"style":263},"du -sh \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\ndu -sh \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\u002F* 2>\u002Fdev\u002Fnull | sort -h\n",[16,1153,1154,1167],{"__ignoreMap":263},[267,1155,1156,1158,1160,1162,1164],{"class":269,"line":270},[267,1157,316],{"class":315},[267,1159,320],{"class":319},[267,1161,339],{"class":281},[267,1163,290],{"class":273},[267,1165,1166],{"class":281},"\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\n",[267,1168,1169,1171,1173,1175,1177,1180,1183,1185,1188,1191,1194],{"class":269,"line":305},[267,1170,316],{"class":315},[267,1172,320],{"class":319},[267,1174,339],{"class":281},[267,1176,290],{"class":273},[267,1178,1179],{"class":281},"\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\u002F",[267,1181,1182],{"class":319},"*",[267,1184,326],{"class":277},[267,1186,1187],{"class":281},"\u002Fdev\u002Fnull",[267,1189,1190],{"class":277}," |",[267,1192,1193],{"class":315}," sort",[267,1195,1196],{"class":319}," -h\n",[12,1198,1199],{},"プロジェクトのディレクトリ名は通常、判別しやすいプロジェクト名で始まり、その後ろに固有の文字列が続きます。Finder で確認するには、次のコマンドを実行します。",[258,1201,1203],{"className":260,"code":1202,"language":262,"meta":263,"style":263},"open \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\n",[16,1204,1205],{"__ignoreMap":263},[267,1206,1207,1210,1212,1214],{"class":269,"line":270},[267,1208,1209],{"class":315},"open",[267,1211,339],{"class":281},[267,1213,290],{"class":273},[267,1215,1166],{"class":281},[12,1217,1218],{},"1 つのプロジェクトを完全に削除する場合は、以下のディレクトリ名を、自分の環境で確認した正確な名前に置き換えてください。",[258,1220,1222],{"className":260,"code":1221,"language":262,"meta":263,"style":263},"rm -rf \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\u002FYourProject-xxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n",[16,1223,1224],{"__ignoreMap":263},[267,1225,1226,1228,1230,1232,1234],{"class":269,"line":270},[267,1227,680],{"class":315},[267,1229,683],{"class":319},[267,1231,339],{"class":281},[267,1233,290],{"class":273},[267,1235,1236],{"class":281},"\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\u002FYourProject-xxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n",[12,1238,1239],{},"デフォルトの Derived Data フォルダー内にあるすべての項目を完全に削除する場合は、次のコマンドを使用します。",[258,1241,1243],{"className":260,"code":1242,"language":262,"meta":263,"style":263},"find \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\" \\\n  -mindepth 1 -maxdepth 1 -exec rm -rf {} +\n",[16,1244,1245,1259],{"__ignoreMap":263},[267,1246,1247,1250,1252,1254,1257],{"class":269,"line":270},[267,1248,1249],{"class":315},"find",[267,1251,339],{"class":281},[267,1253,290],{"class":273},[267,1255,1256],{"class":281},"\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"",[267,1258,355],{"class":319},[267,1260,1261,1264,1267,1270,1272,1275,1278,1280,1283],{"class":269,"line":305},[267,1262,1263],{"class":319},"  -mindepth",[267,1265,1266],{"class":319}," 1",[267,1268,1269],{"class":319}," -maxdepth",[267,1271,1266],{"class":319},[267,1273,1274],{"class":319}," -exec",[267,1276,1277],{"class":281}," rm",[267,1279,683],{"class":319},[267,1281,1282],{"class":281}," {}",[267,1284,1285],{"class":281}," +\n",[12,1287,1288],{},"これらのコマンドはゴミ箱を経由しません。Return キーを押す前にパス全体を読み直してください。Xcode がビルド、テスト、インデックス作成を実行している間は、最後のコマンドを実行しないでください。",[37,1290,1292],{"id":1291},"方法-3先に-clean-build-folder-を試す","方法 3：先に Clean Build Folder を試す",[12,1294,1295,1296,1299],{},"特定のプロジェクトでビルド問題が起きているだけで、インデックスやワークスペース内のほかの生成データまで削除する必要がない場合は、まず Xcode の ",[948,1297,1298],{},"Product → Clean Build Folder"," を試してください。Apple のトラブルシューティング資料でも、この操作が案内されています。",[12,1301,1302],{},"コマンドラインからワークスペースをクリーンビルドする場合は、次のように実行します。",[258,1304,1306],{"className":260,"code":1305,"language":262,"meta":263,"style":263},"xcodebuild \\\n  -workspace YourApp.xcworkspace \\\n  -scheme YourApp \\\n  clean\n",[16,1307,1308,1315,1325,1335],{"__ignoreMap":263},[267,1309,1310,1313],{"class":269,"line":270},[267,1311,1312],{"class":315},"xcodebuild",[267,1314,355],{"class":319},[267,1316,1317,1320,1323],{"class":269,"line":305},[267,1318,1319],{"class":319},"  -workspace",[267,1321,1322],{"class":281}," YourApp.xcworkspace",[267,1324,355],{"class":319},[267,1326,1327,1330,1333],{"class":269,"line":312},[267,1328,1329],{"class":319},"  -scheme",[267,1331,1332],{"class":281}," YourApp",[267,1334,355],{"class":319},[267,1336,1337],{"class":269,"line":332},[267,1338,1339],{"class":281},"  clean\n",[12,1341,1342],{},"この方法は、Derived Data ディレクトリ全体を削除するより対象が限定されています。選択したビルドシステムに、そのプロジェクトのビルド成果物をクリーンアップさせる操作であり、すべての Xcode ワークスペースを対象にしたディスククリーンアップではありません。",[37,1344,1345],{"id":1345},"クリーンアップ後に起こること",[12,1347,1348],{},"最初のビルドは通常、以前より時間がかかります。Xcode がターゲットを再ビルドしてインデックスを作り直すほか、Swift Package の依存関係を再度解決または取得する場合があるためです。インデックス作成が終わるまでは、コード補完や定義へのジャンプが十分に機能しないこともあります。",[12,1350,1351],{},"プロジェクトファイル、Git の履歴、署名証明書、Provisioning Profile、Xcode Archives は、デフォルトの Derived Data ルートの外にあります。上で説明した正確なパスだけを削除すれば、これらには影響しません。",[12,1353,1354],{},"クリーンビルド後も元のエラーが再発する場合は、Derived Data が原因ではない可能性が高いでしょう。キャッシュの削除を繰り返すのではなく、最初に表示された具体的なコンパイルエラー、依存関係の解決状況、使用中の Xcode バージョン、プロジェクトの Build Settings を確認してください。",[37,1356,1358],{"id":1357},"mangodisk-で-xcode-の-derived-data-を確認する","MangoDisk で Xcode の Derived Data を確認する",[12,1360,1361,1362,1365],{},"削除する前にサイズと正確な場所を確認したい場合は、",[797,1363,1364],{"href":799},"MangoDisk のディープクリーン","に Xcode Derived Data を検出する専用ルールがあります。",[12,1367,1368,1369,1371,1372,818],{},"このルールは、対象を意図的に限定しています。デフォルトの ",[16,1370,957],{}," だけを対象とし、実行前に Xcode を終了する必要があります。また、初期状態では選択されません。プロジェクトのソースコード、Archives、署名関連データ、シミュレーターデバイス、インストール済みのシミュレーターランタイムは含まれません。スキャンはデバイス内で実行され、クリーンアップ前に結果を確認できます。確認画面とクリーンアップ履歴の流れについては、",[797,1373,1374],{"href":816},"MangoDisk の安全ガイド",[37,1376,821],{"id":821},[823,1378,1380],{"id":1379},"xcode-を開いたまま-derived-data-を削除できますか","Xcode を開いたまま Derived Data を削除できますか？",[12,1382,1383],{},"ビルド、テスト、インデックス作成の途中では削除しないでください。クリーンアップ中にファイルが書き換えられないよう、先に Xcode を終了します。",[823,1385,1387],{"id":1386},"derived-data-を削除すればすべての-xcode-ビルドエラーが直りますか","Derived Data を削除すれば、すべての Xcode ビルドエラーが直りますか？",[12,1389,1390],{},"いいえ。古くなった生成データや不整合がある場合には有効ですが、ソースコードのエラー、無効な署名、依存関係の不足、不適切なビルド設定は修正できません。",[823,1392,1394],{"id":1393},"どのくらいの頻度で削除すればよいですか","どのくらいの頻度で削除すればよいですか？",[12,1396,1397],{},"まとまった空き容量を確保したい場合や、古いビルドデータが問題を起こしていると考えられる場合に削除します。問題のない Derived Data をビルドのたびに消去してもメリットはありません。",[823,1399,1401],{"id":1400},"削除したフォルダーが再び作られたのはなぜですか","削除したフォルダーが再び作られたのはなぜですか？",[12,1403,1404],{},"正常な動作です。プロジェクトをビルドまたはインデックスすると、Xcode は Derived Data を再作成します。クリーンアップは古い生成データを片付けるもので、今後のビルドキャッシュを無効にする操作ではありません。",[37,1406,1407],{"id":1407},"参考資料",[45,1409,1410,1417,1424,1431],{},[48,1411,1412],{},[797,1413,1416],{"href":1414,"rel":1415},"https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002FXcode-Release-Notes\u002Fxcode-26-release-notes",[868],"Xcode 26 Release Notes：Derived Data のクリーンアップを使った復旧手順",[48,1418,1419],{},[797,1420,1423],{"href":1421,"rel":1422},"https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Ftechnotes\u002Ftn3118-debugging-your-apps-launch-screen",[868],"Apple Technical Note TN3118：Debugging your app’s launch screen",[48,1425,1426],{},[797,1427,1430],{"href":1428,"rel":1429},"https:\u002F\u002Fdeveloper.apple.com\u002Flibrary\u002Farchive\u002Fdocumentation\u002FXcode\u002FConceptual\u002FRN-Xcode-Archive\u002FChapters\u002Fxc4_release_notes.html",[868],"Xcode 4 Release Notes：Derived Data に作成されるワークスペースのインデックス",[48,1432,1433],{},[797,1434,1435],{"href":931},"Cargo キャッシュと target フォルダーの違い",[12,1437,1438,1439,1442],{},"開発ツールが生成したファイルを画面で確認してから削除するものを選びたい場合は、",[797,1440,902],{"href":1441},"\u002Fja","して、デバイス内でディープクリーンを実行できます。",[905,1444,1445],{},"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 pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}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 .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);}",{"title":263,"searchDepth":305,"depth":305,"links":1447},[1448,1449,1450,1451,1452,1453,1454,1455,1461],{"id":966,"depth":305,"text":967},{"id":1013,"depth":305,"text":1014},{"id":1107,"depth":305,"text":1108},{"id":1144,"depth":305,"text":1145},{"id":1291,"depth":305,"text":1292},{"id":1345,"depth":305,"text":1345},{"id":1357,"depth":305,"text":1358},{"id":821,"depth":305,"text":821,"children":1456},[1457,1458,1459,1460],{"id":1379,"depth":312,"text":1380},{"id":1386,"depth":312,"text":1387},{"id":1393,"depth":312,"text":1394},{"id":1400,"depth":312,"text":1401},{"id":1407,"depth":305,"text":1407},"\u002Fimages\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely.webp","Xcode のビルドデータとディスク使用量を整理するイメージ","Xcode の Derived Data に何が含まれるのか、削除しても安全なのかを解説し、ソースコードを消さずにプロジェクト単位またはフォルダー全体をクリーンアップする方法を紹介します",{},"2026-08-10T00:00:00+08:00",{"title":889,"description":1464},"ja\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely",[1470,1471,1472,924],"Xcode Derived Data","Xcode キャッシュ","macOS","article-how-to-clear-xcode-derived-data-safely","T84YdnMAipnfHhOAQEPMWUnA8brTEVRcg4_-r4zO3zM",{"id":1476,"title":1477,"author":7,"body":1478,"category":1552,"cover":1553,"coverAlt":1554,"description":1555,"draft":928,"extension":929,"meta":1556,"navigation":308,"path":894,"publishedAt":1557,"seo":1558,"stem":1559,"tags":1560,"translationKey":1564,"updatedAt":932,"__hash__":1565},"articles_ja\u002Fja\u002Fblog\u002Fwhy-i-built-mangodisk.md","MangoDisk を開発し、オープンソースにした理由",{"type":9,"value":1479,"toc":1545},[1480,1483,1487,1490,1493,1496,1500,1503,1506,1510,1513,1516,1519,1522],[12,1481,1482],{},"開発者として日々作業していると、開発ツールをインストールし、ソフトウェアを試し、依存関係を追加する機会が増えていきます。プロジェクトからはビルド成果物やキャッシュが作られ、AI モデルも少しずつ増えていきます。気づいたときには、ディスクの空き容量がほとんど残っていませんでした。",[37,1484,1486],{"id":1485},"何度片付けてもディスクがいっぱいになる","何度片付けても、ディスクがいっぱいになる",[12,1488,1489],{},"原因は、1 つの巨大なファイルではありません。インストーラー、古いバージョン、キャッシュ、ログ、ビルド出力がディスクのあちこちに散らばり、それぞれが少しずつ容量を使っていました。削除してよいものを漏れなく探すだけでも、かなりの手間がかかります。",[37,1491,1492],{"id":1492},"スクリプトだけでは解決できなかった",[12,1494,1495],{},"最初は、自分で書いたスクリプトを使ってクリーンアップしていました。ある程度は役立ちましたが、保守が大変です。保存先のパスは変わり、ルールは古くなります。小さなミスでも、消してはいけないファイルを削除しかねません。スクリプトを変更するたびに、どこを処理するのか細かく確認する必要がありました。",[37,1497,1499],{"id":1498},"欲しかったのはもっとシンプルな道具","欲しかったのは、もっとシンプルな道具",[12,1501,1502],{},"いくつものディスククリーナーを試しましたが、しっくりくるものはありませんでした。サブスクリプションが必要なもの、不要な機能が多すぎるもの、アカウント作成やリモートサービスへのデータ送信を求めるものもあります。",[12,1504,1505],{},"私が欲しかったのは、もっとシンプルな道具でした。ストレージが何に使われているかを見せてくれて、不要なものを自分で確認し、それから片付けられる。それだけでよかったのです。",[37,1507,1509],{"id":1508},"そこで-mangodisk-を作った","そこで MangoDisk を作った",[12,1511,1512],{},"MangoDisk はアカウント登録不要で、有料機能もありません。ファイルのスキャンとクリーンアップはデバイス内で完結します。ファイルやスキャン結果をアップロードせず、クリーンアップにインターネット接続も必要ありません。",[12,1514,1515],{},"MangoDisk が大切にしているのは、不要なファイルを見つけ、内容を確認し、納得したうえで空き容量を増やせるようにすることです。",[37,1517,1518],{"id":1518},"オープンソースにした理由",[12,1520,1521],{},"MangoDisk がどのように動くのかを誰でも確認でき、よりよいツールへ一緒に育てられるようにしたいと考えています。そして何より、同じ容量不足に困っている人には、私と同じような試行錯誤を繰り返さず、シンプルで透明性のあるディスククリーナーを使ってほしいと思っています。",[12,1523,1524,1529,1530,1533,1534,1538,1539,1541,1542,1544],{},[797,1525,1528],{"href":1526,"rel":1527},"https:\u002F\u002Fgithub.com\u002Fharry0703\u002FMangoDisk",[868],"MangoDisk のソースコードとクリーンアップルール","は GitHub で公開しています。削除前の確認方法や安全上の考え方は",[797,1531,1532],{"href":816},"安全ガイド","にまとめました。",[797,1535,1537],{"href":1536},"\u002Fja\u002Fdocs\u002Fgetting-started","はじめに","で基本操作を確認できるほか、",[797,1540,889],{"href":888},"や ",[797,1543,1435],{"href":931},"も紹介しています。",{"title":263,"searchDepth":305,"depth":305,"links":1546},[1547,1548,1549,1550,1551],{"id":1485,"depth":305,"text":1486},{"id":1492,"depth":305,"text":1492},{"id":1498,"depth":305,"text":1499},{"id":1508,"depth":305,"text":1509},{"id":1518,"depth":305,"text":1518},"MangoDisk 開発ストーリー","\u002Fimages\u002Fblog\u002Fwhy-i-built-mangodisk.webp","散らかったファイルを整理してディスク容量を把握できるようになるまでを描いた MangoDisk の開発ストーリー","何度整理しても減っていく空き容量、保守しにくいクリーンアップスクリプト、複雑すぎる既存ツールをきっかけに、シンプルなオープンソースのディスククリーナーを開発した経緯を紹介します",{},"2026-08-01T10:00:00+08:00",{"title":1477,"description":1555},"ja\u002Fblog\u002Fwhy-i-built-mangodisk",[1561,1562,1563],"MangoDisk","オープンソース","ディスククリーンアップ","article-why-i-built-mangodisk","5_gJxdy88lg45bfBli1e8RT0Z4BzKeXqI-bQjaeIp6A",1786706048526]