맥에서 npm, Yarn, pnpm 캐시 삭제하는 방법
2026년 10월 13일 업데이트
맥에서 npm 캐시를 지우려면 npm cache clean --force를 실행하세요. pnpm은 pnpm store prune, Yarn 1은 yarn cache clean, Yarn 2 이상은 yarn cache clean --all이에요. 모두 다운로드 캐시라서 지워도 안전해요. 대가는 다음 설치 때 패키지를 다시 내려받는 것뿐이에요.
무료로 조회할 수 있는 macOS 메뉴 막대 앱 WTMemory로, 지우기 전에 이 캐시들의 용량을 나란히 비교해 볼 수 있어요. 자세한 내용은 끝부분에 있고, 아래 명령들은 터미널만 있으면 돼요.
패키지 캐시가 용량을 얼마나 쓰고 있나요?
어느 캐시가 정리할 가치가 있는지 알 수 있도록 먼저 재 보세요. macOS 기본 위치는 다음과 같아요.
du -sh ~/.npm ~/Library/pnpm/store ~/Library/Caches/Yarn ~/.yarn/berry/cache \
~/.bun/install/cache ~/.cargo/registry ~/.cargo/git ~/.gradle/caches 2>/dev/null
설정이나 환경 변수로 위치를 바꿨다면 도구에 직접 물어보세요.
| 도구 | macOS 기본 위치 | 도구에 물어보기 | 비우기 |
|---|---|---|---|
| npm | ~/.npm/_cacache | npm config get cache | npm cache clean --force |
| pnpm | ~/Library/pnpm/store | pnpm store path | pnpm store prune |
| Yarn 1 | ~/Library/Caches/Yarn | yarn cache dir | yarn cache clean |
| Yarn 2+ | ~/.yarn/berry/cache | yarn config get cacheFolder | yarn cache clean --all |
| Bun | ~/.bun/install/cache | bun pm cache | bun pm cache rm |
| Cargo | ~/.cargo/registry, ~/.cargo/git | echo $CARGO_HOME | registry/cache와 registry/src 삭제 |
| Gradle | ~/.gradle/caches | echo $GRADLE_USER_HOME | 데몬 중지 후 caches 삭제 |
맥에서 npm 캐시는 어떻게 지우나요?
npm cache clean --force
npm은 내려받은 tarball을 ~/.npm/_cacache 아래 콘텐츠 주소 방식 저장소에 보관해요. npm 5부터 캐시가 스스로 무결성을 검사하기 때문에 --force 없이는 정리를 거부해요. 손상이 의심될 뿐이라면 npm cache verify가 필요 없는 데이터를 가비지 컬렉션하고 나머지를 검사해 줘요. 전부 버리지 않아도 돼요.
~/.npm 안의 이웃 폴더 두 개도 지워도 안전해요. npx로 가져온 패키지가 있는 _npx와 디버그 로그가 있는 _logs예요. 캐시를 지워도 프로젝트나 전역 설치에는 영향이 없어요.
pnpm store는 어떻게 비우나요?
pnpm store prune
pnpm은 모든 패키지 버전을 전역 store에 한 벌씩 보관하고, 여기서 각 프로젝트의 node_modules로 파일을 하드 링크해요. prune은 어떤 프로젝트도 더 이상 참조하지 않는 패키지를 지워요. 설치가 진행 중일 때는 실행하지 마세요. 정확한 폴더는 pnpm store path로 확인하세요. store 디렉터리 이름에는 pnpm 메이저 릴리스마다 바뀌는 버전(예: v10)이 들어가서, 업그레이드 후 예전 버전 폴더가 남아 있을 수 있어요.
하드 링크 때문에 store와 프로젝트에 각각 du를 돌리면 같은 바이트가 두 번 계산되고, 프로젝트가 아직 그 파일들을 링크하고 있는 동안에는 store 전체를 지워도 확보되는 공간이 적어요. 먼저 prune하고, 그다음 더 이상 작업하지 않는 프로젝트의 node_modules를 지우세요.
Yarn 캐시는 어떻게 지우나요?
yarn --version으로 버전을 확인하세요. Yarn 1(classic)은 ~/Library/Caches/Yarn을 써요.
yarn cache clean
Yarn 2 이상(Berry)은 기본적으로 ~/.yarn/berry/cache에 전역 캐시를 두고, 일부 리포지토리는 대신 프로젝트별 .yarn/cache를 써요. 전역 캐시와 현재 프로젝트 캐시를 모두 비우려면:
yarn cache clean --all
리포지토리가 zero-install을 위해 .yarn/cache를 git에 커밋했다면 손으로 지우지 마세요. 리포지토리의 일부예요.
Bun 캐시는 어떻게 지우나요?
bun pm cache rm
Bun은 BUN_INSTALL_CACHE_DIR로 따로 지정하지 않는 한 내려받은 패키지를 ~/.bun/install/cache에 저장해요. 경로는 bun pm cache로 출력할 수 있어요. ~/.bun/bin은 bun 실행 파일 자체가 있는 곳이니 건드리지 마세요.
Cargo 캐시는 어떻게 지우나요?
Cargo는 내려받은 crate를 압축 아카이브로 ~/.cargo/registry/cache에, 압축을 푼 소스를 ~/.cargo/registry/src에 보관해요. 둘 다 지워도 안전하고, 다음 빌드 때 Cargo가 다시 가져와요.
rm -rf ~/.cargo/registry/cache ~/.cargo/registry/src
git 의존성이 들어 있는 ~/.cargo/git/checkouts도 지워도 돼요. ~/.cargo/bin(cargo install로 설치한 도구)과 ~/.cargo/credentials.toml은 지우지 마세요. Rust에서 더 큰 공간은 보통 프로젝트마다 있는 target 폴더에서 나오고, 프로젝트 안에서 cargo clean으로 비울 수 있어요.
Gradle 캐시는 어떻게 지우나요?
Gradle 데몬이 캐시 파일을 열어 두고 있으니 먼저 데몬을 멈추세요.
./gradlew --stop
rm -rf ~/.gradle/caches
다음 빌드 때 의존성을 다시 내려받고 transform을 다시 빌드하는데, Android 프로젝트라면 꽤 오래 걸릴 수 있어요. ~/.gradle/wrapper/dists에는 지금까지 쓴 wrapper 버전마다 Gradle 배포판 전체가 들어 있으니, 더 이상 빌드에 쓰지 않는 예전 버전은 지우세요. 서명과 리포지토리 자격 증명이 들어 있는 경우가 많은 ~/.gradle/gradle.properties는 남겨 두세요.
용량을 차지하는 node_modules 폴더는 어떻게 찾나요?
프로젝트가 많은 맥에서는 보통 node_modules 폴더가 전역 캐시보다 무거워요. ~/code를 프로젝트를 두는 위치로 바꿔서 용량과 함께 나열해 보세요.
find ~/code -name node_modules -type d -prune -exec du -sh {} + | sort -h
-prune은 find가 각 node_modules 안으로 내려가지 않게 해서, 중첩된 의존성 폴더가 따로 나열되지 않고 스캔도 빨라요. 지금 작업하지 않는 프로젝트의 것을 지우세요.
rm -rf ~/code/old-project/node_modules
나중에 프로젝트의 lockfile로 npm ci, pnpm install --frozen-lockfile, yarn install --immutable을 실행하면 정확히 같은 트리가 복원돼요. 골라서 지울 수 있는 대화형 목록이 필요하면 npx npkill이 폴더를 스캔해 선택한 node_modules를 지워 줘요.
지우면 안 되는 것은?
~/.npmrc,~/.yarnrc.yml같은 설정 파일: 레지스트리 인증 토큰이 들어 있을 수 있어요.~/.nvm같은 Node 버전 관리자와 전역 설치 폴더: 캐시가 아니라 설치된 도구예요.- 리포지토리 안의 lockfile과 커밋된
.yarn/cache폴더. - 설치나 빌드가 진행 중일 때의 캐시 안 모든 것.
캐시를 지우면 맥이 빨라지나요?
아니요. 디스크 공간이 확보되고 가끔 생기는 손상된 다운로드가 고쳐질 뿐이에요. 캐시가 다시 찰 때까지 다음 설치나 빌드는 더 느리고, 오프라인 설치도 안 돼요.
메뉴 막대에서 개발자 캐시 검토하기
WTMemory는 npm, pnpm, Yarn, Bun, Cargo, Gradle 캐시를 포함한 지원되는 개발자 캐시 위치를 스캔하고, 각 항목을 설명과 예상 용량과 함께 보여 줘요. 먼저 Finder에서 어떤 항목이든 볼 수 있어요. 조회는 무료예요.
Pro에서는 캐시를 하나씩 고르고, 어떤 영향이 있는지 검토한 다음, WTMemory가 휴지통으로 옮겨요. 아무것도 자동으로 선택되지 않고 아무것도 영구 삭제되지 않아요. 휴지통을 비울지는 여러분이 결정해요. 정리 대상은 이 캐시들뿐이에요. 소스 코드는 제외되고, node_modules를 포함한 프로젝트도 정리 대상에서 빠지니, 그런 건 위의 find 명령을 쓰세요. 먼저 실행 중인 패키지 매니저와 빌드를 종료하세요. WTMemory는 Apple Silicon과 Intel의 macOS 12 이상에서 돌아가고, Pro는 $9 USD 일회성 결제로 맥 3대까지 쓸 수 있으며 7일 체험판이 있어요.
자주 묻는 질문
npm 캐시를 지워도 안전한가요?
네. npm 캐시는 내려받은 패키지를 콘텐츠 주소 방식으로 저장한 사본이에요. 지워도 설치된 프로젝트가 깨지는 일은 없어요. 다음 설치 때 패키지를 다시 내려받고, 캐시가 다시 찰 때까지 오프라인 설치가 안 될 뿐이에요.
npm cache clean에 왜 --force가 필요한가요?
npm 5부터 캐시가 스스로 무결성을 검사하고 손상을 복구하기 때문에, npm은 캐시 삭제를 불필요한 일로 보고 --force로 확인을 요구해요. 더 순한 방법은 npm cache verify예요.
pnpm store를 지우면 프로젝트가 깨지나요?
pnpm store prune은 어떤 프로젝트도 참조하지 않는 패키지만 지우므로 안전해요. store 전체를 지워도 파일이 하드 링크라서 기존 node_modules가 손상되지는 않지만, 다음 pnpm install 때 전부 다시 내려받아야 해요.
캐시를 지우면 맥이 빨라지나요?
아니요. 디스크 공간이 확보될 뿐이에요. 캐시가 다시 찰 때까지 다음 설치와 빌드는 더 느려요.
보통 캐시와 node_modules 중 어느 쪽이 더 큰가요?
프로젝트가 많은 맥에서는 프로젝트 안의 node_modules 폴더와 Rust target 폴더를 합치면 보통 전역 캐시보다 커요. find와 du로 나열해 보세요.