npm コマンドまとめ

メモ:

npm のコマンドまとめ

npm ( Node Package Manager ) のよく使いそうなコマンドについてまとめます。

対象: npm 5 以降

npm ( Node Package Manager )とは

npm ( Node Package Manager ) を簡単にまとめると。

  • パッケージを管理するツール。
  • 必要とするパッケージに依存するパッケージもまとめてインストールしてくれる。
  • Script(パッケージ群)の実行などもできる。

パッケージ管理(プロジェクト管理)の初期設定

npm で管理するプロジェクトディレクトリを作成します。npm init コマンドで package.json ファイルが生成されます。

$ npm init

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

カレントディレクトリ配下にインストールします。package.json ファイルが存在するディレクトリで実行します。

npm install パッケージ

install の代わりに i や add も指定可能です。(aliases)

npm i パッケージ
npm add パッケージ

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

npm install パッケージ@x.y.z

-g オプションをつけるとグローバルインストールとなり、システムディレクトリにインストールされます。

npm install -g パッケージ

インストール時に、package.json へのパッケージの依存関係を追記するには下記のオプションをつけます。

npm install パッケージ --no-save
npm install パッケージ --save
npm install パッケージ --save-optional
npm install パッケージ --save-dev
  • –no-save:package.json に書き込まない場合に指定します。
  • –save:package.json の dependencies にパッケージ名とバージョンが追記されます。
  • –save-optional:package.json の optionalDependencies に依存するけれど必須ではないパッケージとして追記されます。
  • –save-dev:package.json の devDependencies に開発に使用するパッケージとして追記されます。

package.json に記述されたパッケージを再度インストールするには、package.json が存在するディレクトリで下記を実行します。

$ npm install

インストール済のパッケージ情報を一覧表示

インストール済のパッケージの一覧を表示します。

$ npm list

list の代わりに ls や la , ll も指定可能です。

npm ls
npm la
npm ll

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

$ npm list -g

第一階層のパッケージのみを表示します。(依存関係の一番上位)

$ npm list --depth=0

パッケージの更新関係

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

$ npm update

パッケージを指定してアップデートします。

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

インストールしたパッケージに新しいバージョンが存在するか確認します。

$ npm outdated
$ npm outdated -g

outdated と update を使用した場合、「メジャーバージョンのアップデートまでは行ってくれない。」,「ackage.json の更新まではやってくれない 」といった問題点があるようです。そこで、 npm-check-updates というパッケージを使用する方法もあります。

一括アップデートには、npm-check-updates を使用することもあります。

$ npm install -g npm-check-updates     // グローバルインストールする(ncu がインストールされる)

npm-check-updates に関するコマンド。

ncu                                  // アップデート情報を表示する
ncu -u                               // アップデート情報を package.json に書き込む
npm install                          // 更新された package.json に従いアップデートする
ncu パッケージ名                      // 特定のパッケージのみを調べる
ncu -x パッケージ名                   // 指定したパッケージを除外する
ncu '/^xyz-.*$/'                     // xyz- で始まるパッケージのみを調べる

※ npm-check-updates パッケージは、パッケージの更新作業を行いません。( package.json を書き換えるだけ) npm install や npm update でパッケージを更新する必要があります。

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

パッケージをアンインストールします。

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

package.json アンインストールしたパッケージ情報を反映します。

$ npm uninstall --save
$ npm uninstall --save-optional
$ npm uninstall --save-dev

uninstall の代わりに rm や unlinl , remove , rm , r も指定可能です。

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

未使用のパッケージを削除

package.json に記述されていない node_modules 内のパッケージをすべて削除します。

$ npm prune

npm リポジトリからパッケージ情報取得

キーワードに関連するパッケージを npm リポジトリから検索します。

npm search パッケージ

パッケージの詳細情報を表示します。

npm view パッケージ

view の代わりに v や info , show も指定可能です。

npm v パッケージ
npm info パッケージ
npm show パッケージ

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

ローカルインストール、グローバルインストールでインストールされたパッケージのパスを表示します。

$ npm root        // パッケージのインストールパスを表示する(node_modules)
$ npm root -g
$ npm bin        // パッケージのコマンドパスを表示する(node_modules\.bin)
$ npm bin -g

スクリプトの実行

実行したいスクリプトを package.json の scripts: に記述しておきます。

{
  "scripts": {
    "build": "node-sass --include-path scss scss/style.scss ../style.css --output-style compressed"
  }
}

スクリプトを実行するには run コマンドを使用します。

$ npm run build

引数なしで実行すると、タスクの一覧を表示します。

$ npm run

よく使用されるタスクには次のようなものがあります。

$ npm run build   // プロジェクトをビルドします
$ npm run watch   // ファイルの更新を監視し、更新されたら自動ビルドします
$ npm run serve   // 評価用テストサーバを起動します