Node.jsで開発をしている人の中には、「npmは知っているけれど、npxって何?」「いつ使えばいいの?」—そう感じている人もいるかもしれません。
npxは環境を汚さず、開発をスマートにするパッケージ実行の強力なツールです。
この記事では、npxの基本的な仕組みから、開発現場で役立つ具体的な使い方、そしてnpmとnpxの決定的な違いを、初心者にもわかりやすい実例を交えて解説しています。
npxをマスターして、あなたの開発効率を格段に向上させましょう!
npxとは何か?
npxは、Node.jsのパッケージをインストールせずに一時的に実行するためのコマンドです。
Node.jsのパッケージ管理ツールであるnpm(Node Package Manager)のバージョン5.2.0以降に標準で付属しています。
npxは「Node Package eXecutor」の略で、ノードパッケージの実行者という意味です。
npmとnpxの違い
Node.jsでは、多くの便利なツールがnpmパッケージとして公開されています。
npmの場合
通常、これらのツールを使うには、npm installコマンドで自分のPCやプロジェクトにインストールする必要があります。
つまり、npmはプロジェクトで継続的に利用するパッケージを「自分のもの」として手元に置いておくためのツールです。
npxの場合
一方、npxはパッケージをローカル環境にインストールすることなく、一時的にダウンロードして即座に実行します。
実行が完了すると、ダウンロードしたパッケージを自動的に削除します。
npxのメリット
npxを使うことで次のようなメリットがあります。
①環境を汚さない
一度しか使わないツールを、自分のPCに「グローバルインストール」して残す必要がありません。
②実行が簡単
プロジェクトにローカルインストールしたツールを実行する際、長いパス(例: ./node_modules/.bin/ツール名)を指定せずに、ツール名だけで簡単に実行できます。
③常に最新を試せる
一時的に実行するため、常に最新版のパッケージを試すことができます。
npxはいつ使う?
npxが最も役立つのは、プロジェクトの初期設定や一度だけ実行する診断ツールを使う時です。
npxを使う場合
例えば、「create-react-app」というパッケージを使って、Next.jsの新規プロジェクトを作成する場合、npxだと以下のコード一つで実行できます。
npx create-next-app <プロジェクト名>npxを使わない場合(npm)
npxを使わずに、npmで同じ作業をしようとすると「インストール→実行→削除」しなければいけなくなります。
# 1. create-react-appをグローバルインストール
$ npm install -g create-react-app
# 2. 実行
$ create-react-app my-app
# 3. もう使わないならアンインストール(忘れると環境に残り続ける)
$ npm uninstall -g create-react-app

