
今回は「npm」についてです。
npm(Node Package Manager)とは、Node.jsのパッケージを管理するツールで、パッケージをインストールする際に依存するパッケージもまとめてインストールしてくれます。
便利で気軽に使えるのですが、エラーに遭遇することがあります。
突然のエラーに落ち着いて対処するためにも事前にnpmについて学んでおくと開発効率がアップしますので、当記事でnpmの理解を深めるきっかけになればと思います。
- npmについて概要を学んでおきたい人
- 用途に合わせてnpmコマンドを知りたい人
- グローバルインストールとローカルインストールの違いがよくわからない人
npmコマンドをカテゴリー別に紹介しているので、用途に合わせて参考にしてください。
- 確認系コマンド
- 更新系コマンド
- 削除系コマンド
- その他コマンド
間違いや改善点があればご指摘いただけると嬉しいです。
では早速みていきましょう。
npmとは

繰り返しになりますが、npmとはパッケージ管理ツールです。
npmコマンドの中で最も利用頻度の高いのは「npm install」ではないでしょうか。
そのインストール方法は2つあります。
グローバルインストールとローカルインストール
グローバルインストールすると、システムディレクトリの配下にある「node_modules」にパッケージがインストールされます。
システムディレクトリは環境によって異なりますが、「npm root -g」とコマンドを叩くとグローバルインストールされている場所がわかります。
僕のPC(Mac)ではこちらに格納されていました。
/usr/local/lib/node_modules
一方、ローカルインストールした場合はプロジェクトの配下にあるnode_modulesにパッケージがインストールされます。
要するに現在ターミナルで開いているディレクトリ直下に「node_modules」が作成され、その中にパッケージがインストールされるということです。
ローカルインストールの場所はグローバルを指す「-g」を除外した「npm root」コマンドを叩けば確認できます。
僕の環境で現ディレクトリから確認するとこんな感じでした。
/Users/Mune/Desktop/10_TIL/node_modules
どっちでインストールすればいいの?
じゃあグローバルインストールするべきなのか、ローカルインストールするべきなのか迷いますよね。
結論からいうと、ローカルインストールすることを推奨します。
ローカルインストールだとプロジェクト単位で依存しているパッケージを管理できるので、各プロジェクトごとに様々な環境で動かしやすい状態にできるからです。
自分ひとりで開発している場合はグローバルインストールでもいいのですが、
他メンバーと共同開発する場合だと必要なパッケージの不足やバージョン違いに気付きづらくなってしまいます。
場合によってはうまく環境構築ができなかったり、バグが発生したりして開発に影響が出る可能性が高いです。
自分以外に同じパッケージを利用する人がいる場合は、ローカルインストールしましょう。
ではnpmが大体わかったところで、ここからはカテゴリー別にコマンドを紹介していきます。
確認系

- バージョンを確認する
npm -v
- 古いパッケージ一覧を確認する(グローバル.ver)
npm outdated -g
- 古いパッケージ一覧を確認する(ローカル.ver)
npm outdated
- node_modulesの場所を確認する(グローバル.ver)
npm root -g
- node_modulesの場所を確認する(ローカル.ver)
npm root
- 明示的にインストールしたパッケージを確認する
npm ls --depth=0
※オプションの「–depth=0」をつけることで、最初の階層のみ出力できます。
- パッケージの脆弱性を確認する
npm audit
- パッケージの脆弱性を確認して、自動的に更新する
npm audit fix
更新系

- package.jsonを作成する
npm init
- 設定項目の入力をスキップする
npm init -y
- グローバルインストールする
npm install -g
- ローカルインストールする
npm install
- 新規にパッケージをインストールする(インストール + 記録)
npm install --save
- 開発環境(devDependencies)にのみ、パッケージをインストールする (インストール + 記録)
npm install --save-dev
- 最新バージョンにする
npm update パッケージ名
- パッケージ全体を更新する(グローバル.ver)
npm update --g
- パッケージ全体を更新する(ローカル.ver)
npm update
- 指定したパッケージを更新する(ローカル.ver)
npm update パッケージ名
- パッケージが依存しているパッケージの重複を整理して、パッケージの構造を単純化する
npm dedupe
削除系

- パッケージと記録を削除する
npm uninstall --save
- 開発環境のパッケージと記録を削除する
npm uninstall --save-dev
- パッケージファイルを削除する
rm package-lock.json
- グローバル全体のパッケージファイルを削除する
npm uninstall パッケージ名 -g
その他

- キャッシュをクリア
npm cache verify
強制クリア
npm cache clean --force
※「–force」をつけないとエラーになります。(npmのバージョン5以上の場合)
npxをグローバルインストールする
npm install -g npx
※「–save-dev」は「-D」でもOKです。
※「npx」を使うと、ローカル(node_modules.bin)にインストールされたパッケージのパスを指定せずに実行できます。
最後に

いかがだったでしょうか。
少しでも参考になっていただけたら嬉しいです。
当記事以外にも便利なコマンドがたくさんありますので、ご興味のある方はぜひ調べてみてください。

以上、
【カテゴリー別】npmコマンドをわかりやすく解説してみた
をお送りしましたー!