npmとは?

npmは、Node.jsで利用される代表的なパッケージ管理ツールです。npmを使うことで、JavaScriptのライブラリや開発ツールを簡単にインストール、管理、更新できます。
フロントエンド開発ではビルドツールやフレームワークの管理に使われ、バックエンド開発ではWebサーバー用のライブラリなどを導入する際に使われます。
npmのインストール確認
npmは、通常Node.jsをインストールすると一緒にインストールされます。まずは、npmが正しく使える状態になっているか確認しましょう。
確認手順
以下のコマンドをターミナルまたはコマンドプロンプトに入力します。
npm -v
npmのバージョン番号が表示されれば、npmはインストールされています。
あわせてNode.jsのバージョンも確認しておくとよいでしょう。
node -v
npmの基本コマンド一覧
npmでよく使う基本的なコマンドを以下にまとめます。これらを覚えておくと、パッケージ管理をスムーズに行えます。
| コマンド | 説明 |
|---|---|
npm init |
新しいプロジェクトを初期化します。package.jsonファイルが作成されます。 |
npm init -y |
質問に答えず、初期設定のままpackage.jsonを作成します。 |
npm install |
package.jsonに書かれている依存パッケージをインストールします。 |
npm install パッケージ名 |
指定したパッケージをプロジェクトにインストールします。例: npm install express |
npm install --save-dev パッケージ名 |
開発時だけ使うパッケージをインストールします。例: テストツールやビルドツールなど。 |
npm install -g パッケージ名 |
パッケージをグローバルにインストールします。 |
npm update |
インストール済みのパッケージを更新します。 |
npm uninstall パッケージ名 |
指定したパッケージを削除します。 |
npm list |
インストールされているパッケージの一覧を表示します。 |
npm outdated |
古くなっているパッケージを確認します。 |
npm run スクリプト名 |
package.jsonに定義したスクリプトを実行します。 |
npmの基本コマンド使用例
新しいプロジェクトの初期化
新しいNode.jsプロジェクトを作成する際には、まずnpm initコマンドを使ってプロジェクトを初期化します。
npm init
このコマンドを実行すると、プロジェクト名、バージョン、説明、エントリーポイントなどを入力する画面が表示されます。入力が完了すると、package.jsonファイルが作成されます。
質問に答えず、初期設定のまま作成したい場合は、次のようにします。
npm init -y
パッケージのインストール
パッケージをプロジェクトにインストールするには、npm installコマンドを使用します。
たとえば、expressパッケージをインストールする場合は、次のようにします。
npm install express
これにより、プロジェクト内にnode_modulesフォルダが作成され、expressがインストールされます。また、package.jsonの依存関係にも記録されます。
開発用パッケージのインストール
テストツールやコード整形ツールなど、開発時だけ使うパッケージは--save-devを付けてインストールします。
npm install --save-dev jest
このようにインストールしたパッケージは、package.jsonのdevDependenciesに記録されます。
npm runでスクリプトを実行する
npmでは、package.jsonにスクリプトを登録して実行できます。
{
"scripts": {
"start": "node index.js",
"test": "jest"
}
}
登録したスクリプトは、次のように実行します。
npm run start
npm test
testなど一部のスクリプトは、npm run testではなくnpm testのように短く書くこともできます。
package.jsonとは?
package.jsonは、プロジェクトの情報や依存パッケージ、実行スクリプトなどを管理するための重要なファイルです。
npmを使うプロジェクトでは、基本的にこのファイルを中心にパッケージを管理します。
- プロジェクト名やバージョンを記録する。
- インストールしたパッケージを管理する。
npm runで実行するスクリプトを定義する。- 開発環境を他の人と共有しやすくする。
node_modulesとpackage-lock.json
npmでパッケージをインストールすると、node_modulesフォルダとpackage-lock.jsonファイルが作成されます。
| 項目 | 説明 |
|---|---|
node_modules |
実際にインストールされたパッケージが保存されるフォルダです。 |
package-lock.json |
インストールされたパッケージの正確なバージョン情報を記録するファイルです。 |
node_modulesは容量が大きくなりやすいため、Gitなどで管理する場合は通常アップロードしません。一方、package-lock.jsonは同じ環境を再現するために重要なので、基本的には管理対象に含めます。
まとめ
- npmはNode.jsで使われる代表的なパッケージ管理ツールである。
- Node.jsをインストールすると、通常npmも一緒に利用できる。
npm initでプロジェクトを初期化できる。npm installで必要なパッケージをインストールできる。package.jsonにはプロジェクト情報や依存パッケージが記録される。node_modulesには実際のパッケージが保存される。package-lock.jsonは同じ環境を再現するために重要である。npm runを使うと、登録したスクリプトを簡単に実行できる。