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 を直接取得することで、以下が可能になる:

  • オフライン環境でのパッケージ配布
  • パッケージの中身を事前に確認
  • 特定バージョンのバックアップ