개발 환경도 주기적인 대청소가 필요합니다
CleanMyMac 같은 자동 클리너 소프트웨어는 일반적인 유지 보수에는 훌륭하지만, 개발자 머신까지 제대로 청소해 주지는 못합니다. 중복 파일 제거나 오래된 시스템 잔여물 정리는 잘하지만, 개발 도구가 만들어내는 수많은 캐시와 불필요한 파일은 알아채지 못하죠.
그래서 개발자라면 1년에 한 번은 직접 명령어를 실행하며 개발 환경을 점검하는 것이 좋습니다. 이제 시작해 볼까요?
정리 전에 현재 남은 여유 공간부터 확인해 보세요.

이 글의 작성자 기준으로 정리 전 여유 공간은 132.2GB였습니다. 그럼 바로 시작합니다!
Homebrew 사용자라면
이 과정만으로도 보통 수백 MB를 확보할 수 있습니다. 패키지를 업데이트하고, 더 이상 사용하지 않는 파일들을 정리해 보세요.
업데이트 후 오래된 포뮬러 삭제하기
brew update && brew upgrade && brew cleanup예전에는 brew prune 명령어를 사용했지만, 지금은 deprecated(사용 중단 권고)되었습니다. cleanup이 해당 기능까지 모두 처리해 줍니다.
일반적인 Brew 유지 관리
Homebrew는 복잡한 시스템이라 유지 관리자들만큼 잘 아는 사람이 없습니다. brew doctor 명령어를 실행하면 정상 동작을 위해 추가로 손봐야 할 항목들을 진단해 줍니다.
Git 사용자라면
Git은 훌륭한 도구지만, 로컬에 병합된 브랜치들이 계속 쌓여 있기 쉽습니다. 이미 쓸모없는 브랜치들은 나중에 새 브랜치를 만들 때 이름 충돌을 일으킬 수도 있습니다.
단일 프로젝트에서 병합된 브랜치 모두 삭제
git branch --merged master | grep -v "\* master" | xargs -n 1 git branch -d한 프로젝트씩 하려면 번거롭죠? 그렇다면 조금 더 강력한 방법을 사용해 보겠습니다.
현재 디렉터리의 모든 프로젝트에서 병합된 브랜치 일괄 삭제
아래 명령어는 현재 작업 디렉터리의 모든 폴더를 순회하며 각 프로젝트에서 병합된 브랜치를 자동으로 정리합니다.
for d in */; do cd $d; echo WORKING ON $d; git branch --merged master | grep -v "\* master" | xargs -n 1 git branch -d; cd ..; doneJavaScript 개발자라면
오래된 node_modules 폴더 삭제
다음 명령어는 120일 이상 된 node_modules 폴더를 찾아 모두 삭제합니다. 물론 오래된 프로젝트를 다시 실행할 때는 npm i 또는 yarn으로 재설치해야 하지만, 이것만으로도 놀라운 공간이 확보됩니다!
4개월 이상 된 node_modules 폴더 모두 삭제:
find . -name "node_modules" -type d -mtime +120 | xargs rm -rf조금 더 과감하게 정리하고 싶다면 mtime 옵션을 빼고 모든 node_modules 폴더를 삭제한 뒤 필요할 때마다 재설치하는 방법도 있습니다.
find . -name "node_modules" -type d | xargs rm -rf구버전 Node.js 제거
Node 버전 관리 도구에 따라 방법이 다릅니다. 아래에서 자신이 사용하는 매니저에 맞는 방법을 확인하세요.
n사용 시:n ls로 설치된 버전을 확인하고,n rm <version>으로 삭제합니다.nvm사용 시:nvm ls로 설치된 버전을 확인하고,nvm uninstall <version>으로 삭제합니다.asdf사용 시:asdf list nodejs로 설치된 버전을 확인하고,asdf uninstall nodejs <version>으로 삭제합니다.
Ruby 개발자라면
cleanup 명령어로 구버전 Gem을 정리할 수 있습니다. 걱정된다면 먼저 dryrun 옵션으로 결과를 미리 확인해 보세요.
gem cleanup --dryrun결과가 만족스럽다면 옵션을 제거하고 실제로 실행합니다.
gem cleanup구버전 Ruby 제거
Ruby 버전 관리 도구에 따라 명령어가 다르며, 두 가지 인기 있는 도구 기준으로 안내합니다.
rbenv사용 시:rbenv versions로 설치된 버전을 확인하고,rbenv uninstall <version>으로 삭제합니다.rvm사용 시:rvm list로 설치된 버전을 확인하고,rvm uninstall <version>으로 삭제합니다.
Xcode 개발자라면
Xcode는 머신 곳곳에 캐시를 생성하며, 일부는 수백 MB에 달합니다. 지금 정리해도 나중에 다시 빌드하면 되니 부담 없이 삭제하세요.
CocoaPods 캐시 정리:
rm -rf "${HOME}/Library/Caches/CocoaPods"오래된 Xcode 시뮬레이터 삭제:
xcrun simctl delete unavailable아카이브, 로그, DerivedData 폴더 정리:
rm -rf ~/Library/Developer/Xcode/Archives
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Developer/Xcode/iOS Device Logs/~/Library/Developer/Xcode/iOS Device Logs/ 경로에서 연결했던 기기 정보를 확인하고, 더 이상 사용하지 않는 구형 iOS 기기의 로그는 삭제하는 것이 좋습니다.
Docker 사용자라면
어떤 컨테이너에서도 사용하지 않는 볼륨은 과감히 삭제할 수 있습니다. 어차피 필요 없는 것들이니까요!
환경에 따라 큰 공간이 확보될 수도, 아무것도 지워지지 않을 수도 있습니다. 한번 실행해 볼 가치는 충분합니다.
사용되지 않는 로컬 볼륨 삭제:
docker volume prune결과는 어떨까?
마지막으로 휴지통을 비우고, 얼마나 확보했는지 확인해 보세요!

무려 30GB를 확보했습니다! 당신은 얼마나 되나요?
사람마다 결과는 크게 다를 것입니다. 여러분의 결과와 함께, 이 글에 없는 개발자용 정리 팁이 있다면 댓글로 공유해 주세요. 좋은 내용은 본문에 추가하겠습니다.
원문 저자 Gant Laborde는 Infinite Red의 최고 기술 전략가(CTO Strategy)로, 출판된 저자이자 겸임 교수, 월드와이드 스피커, 그리고 '예비 매드 사이언티스트'이기도 합니다.