npm initでNode.jsプロジェクトを作成する方法【Windows】
- 開発環境
- JavaScript
Node.jsとnpmをインストールしたら、プロジェクト専用のフォルダーを作り、その中でnpm initを実行します。生成されるpackage.jsonにはプロジェクト名、バージョン、実行スクリプト、依存パッケージなどが記録されます。
本記事ではWindows PowerShellを使い、Node.js/npmの動作確認、作業先への移動、npm init -y、package.jsonの確認までを進めます。
要点:
npm init -yは、これからNode.jsプロジェクトとして使用するフォルダー内で実行します。そのフォルダーにpackage.jsonが生成されれば初期化完了です。
| 検証項目 | 内容 |
|---|---|
| 対象OS/シェル | Windows 10/11、PowerShell |
| Node.js | 22.12.0(検証例) |
| npm | 10.9.0(検証例) |
| 作業先 | ユーザーが使用する任意のプロジェクトフォルダー |
Node.js/npmが未導入の場合は、先にnvm-windowsのインストール方法とnvmでNode.js・npmをインストールして切り替える方法を実施してください。
npm initとは
npm initは、Node.jsプロジェクトの設定ファイルであるpackage.jsonを作成するコマンドです。
package.jsonには、主に次の情報を記録します。
- プロジェクト名とバージョン
- 実行するnpmスクリプト
- アプリの実行に必要な依存パッケージ
- 開発・テストにだけ使う依存パッケージ
- Node.jsの対応バージョン
- ライセンスや公開設定
npm公式ドキュメントでは、質問に回答しながら作成するnpm initと、既定値で作成するnpm init --yesの2つの方法が案内されています。-yは--yesの短縮形です。
Node.jsとnpmの動作を確認する
PowerShellを開き、次のコマンドを実行します。
node -v
npm -v
検証環境では次のバージョンが表示されます。
v22.12.0
10.9.0


バージョン番号は検証例です。プロジェクトで指定されているNode.jsバージョンがある場合は、その要件を優先してください。
nodeが認識されない場合は、nvm use <バージョン番号>で使用するNode.jsを有効にします。npmだけがPowerShellの実行ポリシーエラーになる場合は、設定を変更する前に次を試してください。
npm.cmd -v
詳しい原因と安全な対処方法は、Node.js・npmのセットアップ記事で解説しています。
プロジェクト用フォルダーへ移動する
プロジェクトは、C:\Windows\System32などのシステムフォルダーではなく、ユーザーが管理できる作業用フォルダーへ作成します。
1. Documentsフォルダーへ移動する
cd ~/Documents

Windowsの設定によっては、DocumentsフォルダーがOneDrive配下など別の場所へ割り当てられている場合があります。cd ~/Documentsで移動できない場合は、エクスプローラーで作業先を開いてパスを確認してください。
2. 使用するプロジェクトフォルダーへ移動する
エクスプローラーで使用するプロジェクトフォルダーを開き、アドレスバーからパスを確認します。PowerShellでは、実際のパスに置き換えて移動してください。
cd "C:\実際のプロジェクトフォルダーのパス"
現在地は次のコマンドで確認できます。
Get-Location
使用するプロジェクトフォルダーのパスが表示されれば、正しい場所へ移動できています。
新しくフォルダーを作る必要がある場合も、名前はプロジェクトに合わせて任意に決められます。フォルダー名はpackage.jsonの既定のnameに使われるため、英小文字、数字、ハイフンなどを使うと扱いやすくなります。
npm initでpackage.jsonを作成する
質問を省略して既定値で作成する場合は、プロジェクトフォルダー内で次を実行します。
npm init -y
PowerShellの実行ポリシーによりnpmがブロックされる環境では、次のように.cmdを明示できます。
npm.cmd init -y
成功すると、現在のフォルダーへpackage.jsonが作成され、保存先と内容がターミナルに表示されます。
ターミナルにWrote to ...\package.jsonと表示されたら、記載された保存先が意図したプロジェクトフォルダーか確認してください。
package.jsonの内容を確認する
PowerShellで内容を表示する場合は、次を実行します。
Get-Content package.json
npm init -yの実行後は、nameがプロジェクト名として適切か、versionやmainなどが用途に合っているかを確認します。生成内容はnpmのバージョンや既存設定によって異なる場合があります。nameの初期値は、通常、コマンドを実行したフォルダー名を基に設定されます。
JSONでは末尾の余分なカンマや引用符の不足が構文エラーになります。手動編集する場合は、VSCodeなどJSONの構文を確認できるエディタを使うと見つけやすくなります。
対話形式のnpm initを使う場合
プロジェクト名、バージョン、説明などを作成時に入力する場合は、-yを付けずに実行します。
npm init
主な質問は次のとおりです。
| 項目 | 内容 |
|---|---|
package name | プロジェクト名 |
version | 初期バージョン |
description | プロジェクトの説明 |
entry point | 最初に実行するファイル |
test command | テスト用コマンド |
git repository | GitリポジトリURL |
keywords | 検索用キーワード |
author | 作者情報 |
license | ライセンス識別子 |
入力内容を確認し、最後にyesを選ぶとpackage.jsonが作成されます。npmレジストリへ公開しない社内ツールやローカルアプリでは、作成後にprivateを追加すると誤公開を防げます。
{
"private": true
}
既存のpackage.jsonへ追加する場合は、JSON全体の構造を維持してください。
初期化後に確認したいファイル
npm init直後に作成されるのは基本的にpackage.jsonだけです。依存パッケージをインストールすると、次のファイルやフォルダーが追加されます。
| 名前 | 役割 | Git管理 |
|---|---|---|
package.json | プロジェクト設定と依存関係 | 含める |
package-lock.json | 実際に解決された依存バージョン | 通常は含める |
node_modules | インストールされたパッケージ本体 | 通常は含めない |
Gitを使う場合は、.gitignoreへ次を追加します。
node_modules/
.env
.envにはAPIキーやパスワードなどが保存されることがあるため、公開リポジトリへ含めないでください。
参考資料
まとめ
| 手順 | コマンド | 確認内容 |
|---|---|---|
| バージョン確認 | node -v、npm -v | Node.jsとnpmが動作する |
| 作業先へ移動 | cd ~/Documents | システムフォルダー外へ移動 |
| フォルダーへ移動 | cd "実際のパス" | 作業場所をプロジェクトルートにする |
| 初期化 | npm init -y | package.jsonを生成 |
| 内容確認 | Get-Content package.json | 名前・バージョンなどを確認 |
Node.jsプロジェクトは、専用フォルダー内でnpm initを実行して開始します。package.jsonとpackage-lock.jsonはプロジェクトの再現性に関わるためGitで管理し、node_modulesや秘密情報を含む.envはコミットしないようにしてください。