npxは永続的なインストールは行わないが、実行のために一時的なダウンロード(実質的なインストール)は行う

nove-b July 4, 2025
Source

npxはパッケージをインストールせずに実行できるという認識だったので、

という文言見て今さら不思議に思ったのでどういうものかと調べてみることにした。

厳密に言えば一時的にインストール(ダウンロード)される

パッケージをインストールせずに実行できる

というのはnpxでよくある説明でこれをそのまま受け取っていたけど、どうやら思っていたのとちょっと違った文脈だった。

node_modules ディレクトリに恒久的に追加されるわけではない

通常のnpm iのようにpackage.jsonに依存関係として追加されたり、グローバルに利用可能なコマンドとしてシステムに登録されたりするわけではないらしい。

実行後に自動的にクリーンアップされる、あるいはキャッシュされる

npxがダウンロードしたパッケージは、コマンドの実行が完了すると通常は自動的に削除されるか、次回以降の高速な実行のためにキャッシュされ、ディスク容量を占有し続けたり、手動でアンインストールする必要がない。

つまり、npxは永続的なインストールは行わないが、実行のために一時的なダウンロード(実質的なインストール)は行うとのことだった。

Discussion in the ATmosphere

Loading comments...