npxコマンドメモ

例えば、以下のpackage.jsonの通り、webpackがインストールされているとする。

{
  "省略": "省略",
  "devDependencies": {
    "webpack": "^5.52.0",
    "webpack-cli": "^4.8.0"
  }
}

この時、実行するのであれば、scriptsにコマンドを書くか、yarnを使っているならyarn exec webpackのようにするなど方法がある。

npmでもyarnのようにnode_modules内のコマンドを参照して実行する方法が提供されており、npx webpackのようにすることができる。

yarn execと異なる特徴として、ローカルにインストールしていないコマンドでも実行できるという特徴がある。例えば、create-react-appをインストールしていない状態でnpx create-react-app projectのように実行するとnpx用のディレクトリにcreate-react-appがインストールされ実行される(自分のMacだと~/.npm/_npxにインストールされる)。

npx -p create-react-app@4.0.0 create-react-app --versionのようにnpx -p パッケージ名@バージョン コマンドという形でバージョンを指定することもできる。

前回の実行から再度実行するまでの間に新しいバージョンがリリースされていれば、自動判定でインストールを促してくれるようである。