NPM の使い方

NPM とは

NPM は JavaScript のパッケージマネージャーです。 Java の Gradle や Maven、Haskell の Cabal に相当するプログラムです。 パッケージマネージャーとは、ソフトウェアの依存関係を管理するためのツールです。 NPM を使用することで、JavaScript プロジェクトに必要なライブラリーを簡単にインストールし、管理することができます。

インストール

NPM は通常は Node.js と一緒にインストールされます。 Node.js は、通常は JavaScript をブラウザーの外で実行するための実行環境です。 しかし、ブラウザーで JavaScript を実行するためのライブラリーを npm を使ってインストールするときも、 Node.js を使用する必要があります。 Node.js の公式サイトから、Chocolatey などの汎用のインストーラーを用いるか、 ビルド済みの単独インストーラー (.msi) をダウンロードしてインストールしてください。

実行例

既存の Git リポジトリーにあるプロジェクトの依存関係をインストールしてみます。

https://github.com/Kagawa-Laboratory/blockly-sample.git から、Blockly を使用したサンプルプロジェクトをクローンして、依存関係をインストールしてみましょう。

git clone https://github.com/Kagawa-Laboratory/blockly-sample.git
cd blockly-sample
npm install

これで、サンプルプロジェクトのpackage.json ファイルに記録されている依存関係がインストールされました。実行するには、次のコマンドを使用します。

npm run start

もう一つの例として https://github.com/Kagawa-Laboratory/joke-packages-sample.git をインストールしてみましょう。

git clone https://github.com/Kagawa-Laboratory/joke-packages-sample.git
cd joke-packages-sample
npm install

このプロジェクトでは、次のコマンドで実行します。

npm run dev

基本的な使い方

以下のコマンドを実行することで、NPM の my-project という名前のプロジェクトを作成できます。

mkdir my-project
cd my-project
npm init -y

次のコマンドで、プロジェクトに必要なライブラリーをインストールできます。

npm install library-name

または次の省略形が使えます。

npm i library-name

Vite のように開発時のみに必要なライブラリーは、次のコマンドでインストールできます。 Vite は、ビルドツール・開発環境構築ツールを提供するライブラリーで、プロジェクトの開発中にのみ必要です。

npm install --save-dev library-name 

または次の省略形が使えます。

npm i -D library-name

いずれにしてもインストールしたライブラリーは、プロジェクトの node_modules ディレクトリに保存されます。

プロジェクトの依存関係は、プロジェクトのルートディレクトリにある package.json ファイルに記録されます。

具体的なライブラリーを使った例は IT 研修 JavaScript 第 2 章 の § 2.4 “npm と vite による開発” を見てください。

package.json の構成

ここでは package.json ファイルの主要なセクションについて説明します。

name

プロジェクトの名前を指定します。

dependencies

プロジェクトが実行時に必要とするライブラリーを指定します。 ここでのバージョンの指定の仕方は、次のような形式で行います。

"dependencies": {
  "library-name": "^1.0.0"
}
ここで、^1.0.0 は、バージョン 1.0.0 以上で、2.0.0 未満のバージョンを許容することを意味します。 ^ がついていない場合は、そのバージョンのみという指定になります。

devDependencies

開発時にのみに必要なライブラリーを指定します。 バージョンの指定の仕方は、dependencies と同様です。

scripts

プロジェクトで使用するスクリプトを定義します。 通常、starttest, build などのスクリプトが定義されます。

そのほかのフィールドについては、 package.json の公式ドキュメントを参照してください。

依存パッケージの更新

プロジェクトを作成してしばらくたつと、依存しているライブラリーの新しいバージョンがリリースされることがあります。 インストール済みの依存ライブラリーを最新のバージョンに更新するには、次のコマンドを使用します。

npm update

このコマンドは、package.json ファイルに記録されているバージョンの範囲内で、 インストールされている依存パッケージを最新のバージョンに更新します。