Node.js
npm

npmの基本操作と解説

More than 1 year has passed since last update.

npmとは

Node.jsのライブラリやパッケージを管理するツールです。
最近は、yarnというツールもあるようです。

npmでできること

Node.jsのパッケージやライブラリのインストール・アンインストール、依存パッケージのインストール・アンインストール、package.jsonの作成などを行うことができます。

npmでよく出てくる言葉の説明

グローバルとローカル

npmでのパッケージのインストールには「グローバルインストール」と「ローカルインストール」があります。
グローバルインストールを行うとすべてのプロジェクトでパッケージを利用することができます。
ローカルインストールの場合はプロジェクトごとにインストールするため、インストールしたプロジェクトのみでパッケージを利用することができます。

【補足】
パッケージの中にはglupのようにグローバルとローカルの両方にインストールが必要なものや、browserifyのようにグローバルにインストールしなければならないものもあるようです。

package.json

npmではpackage.jsonというファイルを作成することができます。
これにパッケージを記述していくと、これを利用して一括でパッケージのインストールを行うことができます。パッケージのインストール時に自動で記述するようにすることも可能です。

Dependencies と devDependencies

package.jsonにパッケージ名を書く箇所に「Dependencies」と「devDependencies」があります。(他にもありますがよく使うのはこの2つっぽい)
Dependenciesには本番環境で利用するパッケージを記述します。
devDependenciesには開発環境のみで利用するパッケージを記述します。ここに書いた内容は本番環境でのパッケージインストール時に無視することができます。
上手く利用することで本番では必要なパッケージのみインストールすることができる仕組みのようです。

【補足】
Dependencies, devDependencies の他には、peerDependencies, bundledDependencies, optionalDependencies があります。

よく使うコマンド

npm自体の操作を行う

npm自体をアップデートする
npm install npm -g
npm i npm -g

グローバルのパッケージ操作

パッケージをインストールする
npm install [パッケージ名] -g
npm i [パッケージ名] -g
パッケージをアンインストールする
npm uninstall [パッケージ名] -g
npm rm [パッケージ名] -g
パッケージをアップデートする
npm update [パッケージ名] -g
npm up [パッケージ名] -g
パッケージを確認する
npm list -g
npm ls -g

ローカルのパッケージ操作

パッケージをインストールする
npm install [パッケージ名]
npm i [パッケージ名]
パッケージをアンインストールする
npm uninstall [パッケージ名]
npm rm [パッケージ名]
パッケージをアップデートする
npm update [パッケージ名]
npm up [パッケージ名]
パッケージを確認する
npm list
npm ls

package.json関連

package.json作成
npm init
パッケージインストール時にpackage.jsonへ自動記録する

Dependencies に記録する

npm install [パッケージ名] --save
npm i [パッケージ名] -S

devDependencies に記録する

npm install [パッケージ名] --save-dev
npm i [パッケージ名] -D
パッケージアンインストール時にpackage.jsonの記述を自動削除する

Dependencies から削除する

npm uninstall [パッケージ名] --save
npm rm [パッケージ名] -S

devDependencies から削除する

npm uninstall [パッケージ名] --save-dev
npm rm [パッケージ名] -D
package.jsonを利用して一括インストール

Dependencies + devDependencies のパッケージをインストールする(開発用)

npm install
npm i

Dependencies のみのパッケージをインストールする(本番用)

npm install --production
npm i --production