npxコマンドが出てきて、なにこれってなったのでこれを読んでいる。良い記事。
https://www.freecodecamp.org/news/npm-vs-npx-whats-the-difference/
npm
Node.jsで外部パッケージをインストールして使うためのマネージャ。
package.jsonを読み込んで、npmのレポジトリに取りに行く。
ローカルインストールした場合、必ず./node_modules/.bin/
配下にコマンドがインストールされる。
ちなみにGlobalにインストールした場合、Linuxだと/usr/local/bin/
配下になる。
CLIツールを落としてきたときに、使うためにはpackage.jsonのscriptsに定義を書かないといけない。
これが面倒くさい。
npx
npmのバージョン5.2.0
以降はnpxがプリインストールされているそう。
手で入れる場合はnpm install -g npx
を実行する。
npxでコマンドを実行したいときは、package.jsonに書かないでも、npx コマンド名
打つだけで実行してくれる。
このとき、npxは勝手にインストールされてるパスを調べて「コマンド名」が存在するかチェックして実行してくれる。
未インストールのパッケージにあるコマンドをインストールしないで試してみたい時
npxがすごいのはここ。
github gistにあげているパッケージがあるとして、以下のコマンドを打つと、インストールなしで実行できる。
npx https://gist.github.com/Tynael/0861d31ea17796c9a5b4a0162eb3c1e8
これでDiskの容量は節約できるし、グローバル汚染もしない。
ただし、著者も注意しているようにマルウェアを実行しないように注意する。