はじめに
Node.js について、使い方など少しずつ紹介したいと思います。
※とりあえず Node.js がインストール済みであることが前提です。
本記事の内容は npm と package.json についてです。
自分は Node.js を使い始めた頃はよくわかっていませんでしたが、何か作業をする上で必ず出てくる内容です。
これらが何者なのかわかっていないと、おそらく自身の作業内容についてよくわからないまま進むことになってしまいます。
node.js が Javascript の実行環境である、ということは別の記事でも記載していますが、 基本的な使い方は PowerShell などで以下のコマンドを実行するだけです。
node [実行したいJavascriptのファイルパス]
node.js 上で Javascript を起動するためのコマンドです。スクリプトの内容に応じて処理が進みます。
ですが、多くの入門書では以下のようなnpm XXX
というコマンドが早々に登場しており、あまりこのコマンドについて言及されていないように思います。今回は主にこの npm についての説明になります。
npm XXX
npm とは
npm とは node package manager の略です。Node.js に同梱されてインストールされます。
下の画像のような Javascript プログラムパッケージの巨大リポジトリから、パッケージをインストールすることができます。自分は行ったことはありませんが、作成したパッケージを登録することもできるようです。

Node.js を利用する入門書やサンプルプログラムのほとんどは、npm install パッケージ名
というようなコマンドを利用しているのではないでしょうか。これは、npmリポジトリからパッケージをインストールして利用しているということです。
また、あるパッケージは他の様々なパッケージと依存関係にあり、それらも一緒にインストールされます。
※パッケージをモジュールと表現したりします。
npm install コマンドを試してみる
例として http というモジュールをインストールしてみます。
PowerShell を起動して、適当な作業用フォルダを作成しその中に httpモジュールをインストールします。
※実は node.js をインストールしていればhttpモジュールは標準的に使えます。あくまで npm install の実行例ということをご承知下さい。
mkdr [フォルダパス] cd [フォルダパス] npm install http
「npm install -g [パッケージ名]」というように -g オプションをつけてインストールすると、PC上のどのディレクトリからもコマンドが実行できる場所(PATHが通った場所)にインストールされます。
「npm install [パッケージ名] --save」というように --save オプションをつけている情報もありますが、古い npm でなければつけてもつけなくてもどちらでも大丈夫です。
実行後は以下のようなフォルダとファイルが存在するはずです。
「node_modules」というフォルダ内に上でインストールしたパッケージをはじめとする依存関係にあるパッケージ郡が含まれます。
package.json と package-lock.json
次に上でインストールした「node_modules」と共に同じフォルダに置かれた「package.json」及び「package-lock.json」について説明します。
package.json
まずは package.json から。ファイルを開くと以下のような記載があります。
記載にある通り、package.json には dependencies という記載があり、インストールしたパッケージがJSON形式で記載されます。
合わせてパッケージのバージョンなども記載されます。
package-lock.json
次に package-lock.json を見てみます。
こちらには、インストールしたパッケージと依存関係にあるパッケージの情報などが記載されます。
こちらはより詳細な情報が載っている、という程度の理解で良いと思います。
npm init について
上の例ですと、いきなりnpm install
コマンドを実行しましたが、本来、新規プロジェクトを作成する際は npm init というコマンドを最初に実行します。
npm init
を実行することで package.json が生成されます。合わせて以下の情報をプロンプトとの対話形式で決定し package.json に記載されます。
{ "name": "httpserver", パッケージ名称 "version": "1.0.0", バージョン "description": "", パッケージの説明 "main": "index.js", 実行開始時の呼び出し先 "scripts": { npm run コマンドで実行するスクリプト "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], npmリポジトリの検索キーワード "author": "", 作者名 "license": "ISC" ライセンスの種類 }
※上の内容の中で、「main」と「scripts」に関しては補足説明が必要かと思いますが、本記事ではひとまず割愛します。気になる方は別途調べてみて下さい。
次に npm install を行うことで、前項にあるようにdependencies が追記されてゆくという流れです。
以上、Node.js を利用する上で必須の知識、npm と package.json の説明でした。
インストールしたパッケージを Javascript プログラムで具体的にどのように利用するかは、また別に記事にしたいと思います。
.