【カテゴリー別】npmコマンドをわかりやすく解説してみた

むね
どうもーむね(@mune_actor_en)です!

今回は「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コマンドをわかりやすく解説してみた

をお送りしましたー!

コメントを残す

メールアドレスが公開されることはありません。

ABOUTこの記事をかいた人

どうもーむね(@mune92283498)です! 大卒→医療事務1年8ヶ月→都心で1年6ヶ月役者→営業を1年8ヶ月→全くの未経験でIT系へ転職。プログラマー1年目。 大切な人からの言葉は、「あんた崖っぷち1mやで」 【やれなかった後悔よりもやった後悔】 だって、全部経験値になって自分を作ってくれるから。