개발자를 위한 Mac 클리너

Xcode, Docker, 패키지 관리자, 로컬 AI 모델은 각자 Mac에 자체 저장소를 두며, 어느 것도 스스로 뒷정리를 하지 않습니다. 각각이 어디에 있는지, 무엇을 지워도 안전하고 무엇은 안 되는지, 그리고 Bytesweep이 실행 취소와 함께 어떻게 정리하는지 설명합니다.

다운로드와 검사는 무료입니다. 클린업에는 라이선스가 필요합니다: 컴퓨터 1대당 한 번의 결제.

최종 업데이트: 2026년 10월 6일

개발자 데이터: Xcode, Docker, npm 등. 각 항목이 무엇인지, 지우면 어떻게 되는지 알려 줍니다

먼저 측정하기

크기는 Mac마다 다르니 내 수치부터 확인하세요. 이 명령은 흔히 쓰이는 위치 중 내 Mac에 있는 것 각각의 크기를 작은 것부터 출력합니다:

du -sh ~/Library/Developer/Xcode/DerivedData ~/Library/Developer/CoreSimulator \
  ~/Library/Containers/com.docker.docker ~/.npm ~/Library/Caches/Homebrew \
  ~/Library/Caches/pip ~/.gradle ~/.cargo ~/.m2 ~/go/pkg/mod ~/.ollama 2>/dev/null | sort -h

Bytesweep의 개발자 페이지는 명령 없이도 같은 크기를 도구별로 묶어 보여주며, 보는 것은 무료입니다.

개발 도구가 데이터를 보관하는 위치

각 경로는 macOS에서 해당 도구의 기본 위치입니다. 마지막 열은 그 도구가 자체 제공하는 정리 명령입니다. 명령이 있는 도구라면 그것이 가장 안전한 방법입니다.

도구다시 생기는 시점도구 자체 명령
Xcode DerivedData
~/Library/Developer/Xcode/DerivedData
다음 빌드 시—
Xcode 기기 지원 파일
~/Library/Developer/Xcode/iOS DeviceSupport
기기를 연결할 때—
시뮬레이터 기기
~/Library/Developer/CoreSimulator/Devices
Xcode가 다시 생성, 안의 앱 데이터는 제외xcrun simctl delete unavailable
Xcode Archives
~/Library/Developer/Xcode/Archives
절대 금지—
Docker Desktop
~/Library/Containers/com.docker.docker/Data
다시 풀하고 빌드할 때docker system prune
npm
~/.npm
다음 설치 시npm cache clean --force
Yarn
~/Library/Caches/Yarn
다음 설치 시yarn cache clean
pnpm
~/Library/pnpm/store
다음 설치 시pnpm store prune
Homebrew
~/Library/Caches/Homebrew
다음 설치 시brew cleanup
pip
~/Library/Caches/pip
다음 설치 시pip cache purge
CocoaPods
~/Library/Caches/CocoaPods
다음 설치 시pod cache clean --all
Gradle
~/.gradle/caches
다음 빌드 시—
Maven
~/.m2/repository
다음 빌드 시—
Cargo
~/.cargo/registry
다음 빌드 시—
Go 모듈
~/go/pkg/mod
다음 빌드 시go clean -modcache
Playwright
~/Library/Caches/ms-playwright
브라우저를 다시 설치할 때—
Ollama
~/.ollama/models
모델을 다시 풀할 때ollama rm
Hugging Face
~/.cache/huggingface
다음 다운로드 시—

지워도 안전한 것과 그렇지 않은 것

안전: 패키지 다운로드

npm, Yarn, pip, CocoaPods, Homebrew, Cargo, Maven, Go 캐시에는 레지스트리에 여전히 남아 있는 패키지의 사본이 들어 있습니다. 지우면 다음에 설치할 때 다운로드를 한 번 하게 될 뿐, 그 밖의 영향은 없습니다.

안전하지만 다시 만드는 데 오래 걸림

DerivedData, 시뮬레이터 기기, Gradle 캐시, pnpm 스토어, Playwright의 브라우저, 다운로드한 모델은 모두 다시 생기지만, 그 뒤 첫 빌드나 테스트 실행, 풀은 훨씬 오래 걸립니다. 끝난 프로젝트의 것은 지우고, 작업 중인 프로젝트의 것은 남겨 두세요.

지우기 전에 확인

Xcode Archives는 출시한 빌드이며, 해당 버전의 크래시 리포트를 읽는 데 필요한 디버그 심볼이 들어 있습니다. 다시 만들 방법은 없습니다.

Docker의 데이터 폴더에는 가지고 있는 모든 이미지, 컨테이너, 볼륨이 들어 있으며, 지우면 Docker가 초기화됩니다. Docker의 prune 명령을 사용하고, 볼륨을 prune하기 전에는 볼륨을 먼저 살펴보세요.

직접 빌드했거나 파인튜닝한 모델은 다시 다운로드할 수 없습니다.

node_modules, 가상 환경, 빌드 폴더

이들은 하나의 공유 위치가 아니라 각 프로젝트 안에 있어서 잊히기 쉽습니다. 1년 전에 마지막으로 연 프로젝트에도 node_modules 폴더가 떠났던 날의 크기 그대로 남아 있습니다.

이 명령은 홈 폴더 아래의 모든 node_modules 폴더를 크기와 함께 나열합니다:

find ~ -name node_modules -type d -prune -exec du -sh {} + 2>/dev/null | sort -h

프로젝트에 package.json과 lock 파일이 남아 있다면 node_modules 폴더는 지워도 안전합니다. 설치 명령이 다시 만들어 주기 때문입니다. requirements 파일이 있는 Python 가상 환경과 target, .next, __pycache__ 같은 빌드 결과물도 마찬가지입니다.

공간을 차지하는 것은 오래된 프로젝트입니다. 작업 중인 프로젝트에서는 node_modules를 지워도 다시 설치하는 수고만 들 뿐입니다.

Xcode, Docker, AI 모델에는 별도의 가이드가 있습니다

Xcode

Xcode는 폴더 여섯 개를 사용하며, 앱을 출시한다면 그중 하나는 반드시 남겨야 합니다.

Xcode 저장 공간: 모든 폴더와 지워도 안전한 것

Docker

Docker Desktop은 모든 것을 디스크 이미지 하나에 보관하며, 이미지를 지워도 그 파일은 작아지지 않습니다.

Mac의 Docker 디스크 공간: 어디에 쓰이고 어떻게 확보하는지

로컬 AI 모델

Ollama, LM Studio, Hugging Face는 각자 자체 모델 저장소를 둡니다.

Ollama, LM Studio, Hugging Face가 모델을 저장하는 위치

Bytesweep이 개발자 데이터를 처리하는 방식

Bytesweep은 개발 도구용 페이지를 갖춘 Mac 클리너 겸 디스크 분석기입니다. 버전 2.1.0가 하는 일과 사용자에게 맡기는 일은 다음과 같습니다.

개발자 페이지는 알려진 위치 스무 곳을 측정합니다

대상은 Xcode, npm, Yarn, pnpm, Cargo, Gradle, Maven, Go, pip, CocoaPods, Homebrew, Playwright, Puppeteer, Ollama, Hugging Face, PyTorch, Docker입니다. 이 폴더들을 직접 읽으므로 디스크 전체를 검사할 필요가 없으며, 가장 큰 도구부터 나열합니다.

각 위치에는 무엇으로 다시 생기는지 적혀 있습니다

모든 항목 아래에는 어떻게 다시 빌드되거나 다운로드되는지가 한 줄로 적혀 있습니다. 다시 만드는 데 오래 걸리는 항목에는 시계 표시가 붙고, 석 달 동안 아무것도 바뀌지 않은 위치에는 「오래됨」 표시가 붙습니다.

Archives와 Docker 데이터는 선택 해제된 상태로 시작합니다

둘 다 목록에 나오고 측정되지만, 직접 선택해야 합니다. 도구의 나머지 항목은 모두 선택된 상태로 시작하며, 정리 버튼에는 제거될 총 용량이 표시됩니다.

모든 정리는 7일 동안 실행 취소할 수 있습니다

정리를 누르면 무엇이 제거될지 보여주고 먼저 확인을 받습니다. 그런 다음 항목은 같은 디스크의 복원 지점으로 옮겨지며, 7일 동안 실행 취소로 되돌릴 수 있습니다.

저장 공간 스캔은 프로젝트 안의 폴더를 찾아냅니다

디스크를 검사하면 카테고리 보기가 모든 프로젝트에서 찾은 node_modules 폴더, Python 가상 환경, 빌드 결과물을 각각 개수와 합계와 함께 묶어 보여주므로, 오래된 것을 골라낼 수 있습니다.

도구 페이지는 각 도구의 자체 명령을 실행합니다

docker system prune을 실행할 수 있으며, 이 명령은 볼륨과 실행 중인 것은 그대로 둡니다. Homebrew의 이전 버전과 다운로드를 지우고, npm 캐시를 비우고, 더 이상 가지고 있지 않은 Xcode 버전이 남긴 시뮬레이터를 삭제할 수도 있습니다. 이들은 도구 자체의 명령이므로 실행 취소가 적용되지 않습니다.

실행 중인 것도 보여줍니다

모니터는 실행 중인 Docker 컨테이너를 포트, CPU, 메모리와 함께 나열합니다. 개발 서버는 Mac에서 대기 중인 Node, Python, Ruby, PHP, Java, Go 서버를 각각의 프로젝트 폴더, 포트, 중지 버튼과 함께 나열합니다.

개발자 도구

하지 않는 일

Docker.raw를 줄이지 않으며, 사용자가 보고 확인하지 않은 것은 제거하지 않습니다. 스무 곳에 포함되지 않은 도구는 개발자 페이지에 나타나지 않지만, 그 폴더는 저장 공간 스캔에는 여전히 나타납니다.

자주 묻는 질문

node_modules를 지워도 안전한가요?

네, 프로젝트에 package.json과 lock 파일이 있다면 안전합니다. 설치 명령을 실행하면 같은 버전으로 폴더가 다시 만들어집니다. lock 파일이 없으면 의존성이 이전보다 새로운 버전으로 설치될 수 있습니다.

정리하기 전에 확인해야 할 개발자 폴더는 무엇인가요?

Xcode Archives, Docker의 데이터 폴더와 그 볼륨, 그리고 직접 만든 모델이나 데이터 세트입니다. 어느 것도 레지스트리에서 다시 가져올 수 없습니다.

캐시를 지우면 프로젝트가 망가지나요?

아니요. 캐시는 다시 다운로드하거나 빌드할 수 있는 것의 사본입니다. 치르는 대가는 시간입니다. 다음 설치 때는 모든 것을 다시 다운로드하고, 다음 빌드는 처음부터 시작합니다.

Bytesweep이 개발자 파일을 알아서 삭제하나요?

아니요. 측정하고 나열할 뿐이며, 사용자가 선택하고 확인한 것만 제거합니다. 자동 정리는 없습니다.

이 작업에 앱이 필요한가요?

아니요. 이 페이지의 모든 명령은 무료이며 제 역할을 합니다. Bytesweep을 쓰면 경로를 외울 필요가 없고, 크기를 나란히 볼 수 있으며, 정리를 실행 취소할 수 있습니다.