よく利用する npm コマンド


よく利用する npm ( Node Package Manager ) コマンドをまとめてみました。
エイリアスが多数ありますが一番短くて入力しやすいものを併記しています。

初期化

カレントディレクトリに package.json が作成されます。

npm init

コマンドを入力するとプロジェクト名やバージョンなどを聞かれるので答えていきます。
package name には、その時のカレントディレクトリの名前が入ります。

package name: (test)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)

最後にこの内容で書き込んでよいか尋ねられるので、y を入力すると package.json が作成されます。

About to write to C:\...\package.json:

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

Is this OK? (yes)

質問に答えるのが面倒な場合は以下のコマンドを入力すると package.json が作成されます。

npm init -yes
npm init -y

バージョン確認

npm のバージョン確認

npm -version
npm -v

パッケージのバージョン確認

npm パッケージ名 -version
npm パッケージ名 -v

パッケージのインストール

npm install パッケージ名
npm i パッケージ名

オプションのエイリアスは他にも add も指定可能です。

npm add パッケージ名

複数インストール

パッケージ名をスペース区切りで記述します。

npm install パッケージ1 パッケージ2 パッケージ3
npm i パッケージ1 パッケージ2 パッケージ3

バージョンを指定してインストール

パッケージ名の後にバージョン番号を記述します。

npm install パッケージ名@1.2.3
npm i パッケージ名@1.2.3

グローバルにインストール

npm install -global  パッケージ名
npm install -g パッケージ名

依存関係を package.json に書き込まないでインストール

package.json に書き込まない場合に指定します。

npm install -no-save パッケージ
npm i -no-save パッケージ

依存関係を package.json に書き込んでインストール

dependencies

package.jsondependencies にパッケージ名とバージョンが追記されます。

npm install -save パッケージ
npm i -S パッケージ

save-optional

package.jsonoptionalDependencies に依存するけれど必須ではないパッケージとして追記されます。

npm install -save-optional パッケージ
npm i -save-optional パッケージ

save-dev

package.jsondevDependencies に開発に使用するパッケージとして追記されます。

npm install -save-dev パッケージ
npm i -D パッケージ

package.json に記述されたすべてのパッケージをインストール

npm install
npm i

package-lock.json に記述されたすべてのパッケージをインストール

npm ci

パッケージのアンインストール

npm uninstall パッケージ名
npm r パッケージ名

オプションのエイリアスは他にも unlink un remove rm も指定可能です。

npm unlink パッケージ
npm un パッケージ
npm remove パッケージ
npm rm パッケージ

複数のパッケージをアンインストール

パッケージ名をスペース区切りで記述します。

npm uninstall パッケージ1 パッケージ2 パッケージ3
npm r パッケージ1 パッケージ2 パッケージ3

グローバルのパッケージをアンインストール

npm uninstall -global パッケージ名
npm uninstall -g パッケージ名 

未使用のパッケージをアンインストール

package.json に記述されていないパッケージをアンインストールします。

npm prune

パッケージのアップデート

npm update パッケージ

グローバルのパッケージをアップデート

npm update -global パッケージ 
npm update -g パッケージ

package.json に記述されたすべてのパッケージをアップデート

npm update

パッケージに新しいバージョンが存在するか確認

npm outdated

グローバルのパッケージに新しいバージョンが存在するか確認

npm outdated -g

npm-check-updates

update を使用した場合、以下の問題点があるため npm-check-updates というパッケージを使用して行う。

  • メジャーバージョンのアップデートまで行わない
  • package.json の更新はしない

npm-check-updates は、package.json を更新するだけでパッケージの更新は行いません。
そのため、 package.json の更新後、 npm update でパッケージを更新する必要があります。

インストール

どのプロジェクトでも利用可能にするためにグローバルにインストールします。

npm install -global npm-check-updates
npm i -g npm-check-updates

バージョン確認

package.json に記載されているパッケージの現在インストールされているバージョンと最新バージョンが一覧表示されます。

ncu
特定のパッケージを除外

指定したパッケージ以外の情報が一覧表示されます。

ncu -x パッケージ

package.json の更新

ncu -u
特定のパッケージを更新
ncu -u パッケージ
複数のパッケージを更新

パッケージ名をスペース区切りで記述します。

ncu -u パッケージ1 パッケージ2 パッケージ3
特定のパッケージを除外して更新
ncu -u -x パッケージ

パッケージのアップデート

package.json が更新されたため、パッケージのアップデートを行います。

npm update

パッケージの情報を表示

npm list
npm ls

オプションのエイリアスは他にも la ll も指定可能です。

npm la
npm ll

第一階層のパッケージのみ表示

npm list -depth=0

グローバルインストールされたパッケージの一覧を表示

npm list -global
npm list -g

パッケージの脆弱性確認

npm audit

脆弱なパッケージの依存関係と互換性のあるものを更新

npm audit fix

JSON形式で脆弱性のあるパッケージの情報を取得

npm audit -json

npmで利用できるコマンド確認

npm で利用できるコマンドを確認できます。

npm -l