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 パッケージ名@バージョン コマンド
という形でバージョンを指定することもできる。
前回の実行から再度実行するまでの間に新しいバージョンがリリースされていれば、自動判定でインストールを促してくれるようである。