Babel のページを見ていたら npx command という次の記載があって、気になっていたので使ってみました。
Note: If you do not have a package.json, create one before installing. This will ensure proper interaction with the npx command.
npx?
npx(1) – execute npm package binaries
npm のパッケージのバイナリーを実行するためのもののようです。
npx がなかったときは
バイナリーを実行させるような npm のパッケージって、グローバルにインストールさせるようなものがあります。
npm install gulp-cli -g
わたしは今までグローバルにパッケージをインストールしたくなくて、 gulp もローカルにインストールしてました。 でもバイナリーを実行する必要があるので、環境変数の PATH に ./node_modules/.bin を設定していました。
こうしておくと、
$ gulp
と入力するだけで、
$ ./node_modules/.bin/gulp
のバイナリーを実行してくれました。
npx を使うと
でも、 npx を使えば環境変数の PATH を設定する必要もなくなります。
$ npx gulp
と入力するだけで、
$ ./node_modules/.bin/gulp
のバイナリーを実行してくれます。
cowsay
バイナリーを npx で実行してみたいと思います。 ここでは cowsay を使ってみます。
cowsay インストールします。
$ npm install cowsay --save
SYNOPSIS
npx [options] <command>[@version] [command-arg]...
npx の引数にコマンドとコマンドに対する引数を渡してあげればいいみたいです。
npx で cowsay を実行します。
$ npx cowsay JavaScript FTW!
_________________
< JavaScript FTW! >
-----------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
実行できました。
終わり
on May 30 2017
v1.0.0 …
最初のリリースが 2017 年 5 月 30 日だったようで、もう 1 年も前からあったようです。
参考
この記事の中に記載されている $(npm bin)
って初めて知りました。