logo hsb.horse
← 스니펫 목록으로 돌아가기

Snippets

npm에서 tarball 다운로드

npm pack와 pnpm info를 사용해 npm 패키지의 tarball(.tgz)을 다운로드하는 방법. npm, yarn, pnpm 각각의 방법을 소개.

게시일: 수정일:

npm 패키지의 tarball(.tgz 파일)을 직접 다운로드하고 싶은 상황이 있다. 오프라인 환경에서 설치하거나 패키지 내용을 확인하고 싶을 때 등이다.

npm

Terminal window
npm pack <package-name>
# 예시: react의 tarball 다운로드
npm pack react
# react-18.3.1.tgz가 생성됨

현재 디렉토리에 tarball이 다운로드된다.

yarn

yarn에서도 npm pack을 사용할 수 있다:

Terminal window
npm pack <package-name>
# 예시
npm pack react

yarn pack은 다른 기능(자신의 패키지를 tarball로 만듦)이므로 주의가 필요하다.

pnpm

dist.tarball 필드에서 URL을 가져온다:

Terminal window
pnpm info <package-name> dist.tarball
# 예시
pnpm info react dist.tarball
# https://registry.npmjs.org/react/-/react-18.3.1.tgz

URL이 출력되면 curl 등으로 다운로드한다:

Terminal window
curl -O https://registry.npmjs.org/react/-/react-18.3.1.tgz

tarball 압축 해제

다운로드한 tarball은 tar 명령어로 압축을 해제할 수 있다:

Terminal window
tar -xzf react-18.3.1.tgz
# package/ 디렉토리가 생성됨
cd package/

tarball이란?

npm 패키지는 npm publish 시 tarball(gzip으로 압축된 tar 아카이브)로 변환되어 registry에 업로드된다. npm install 시에는 이 tarball을 다운로드하여 압축을 해제한다.

tarball을 직접 받으면 다음이 가능해진다:

  • 오프라인 환경에서의 패키지 배포
  • 패키지 내용 사전 확인
  • 특정 버전 백업