LoginSignup
175
115

More than 3 years have passed since last update.

npmとnpx。なにが違う?

Last updated at Posted at 2020-04-18

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の容量は節約できるし、グローバル汚染もしない。
ただし、著者も注意しているようにマルウェアを実行しないように注意する。

175
115
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
175
115