[Node.js]パッケージの管理
公開日:2026-03-13
更新日:2026-03-13
更新日:2026-03-13
1. 概要
パッケージの管理についてです。
2. package.json の作成
次のコマンドを実行すると、package.json が作成されます。
通常、プロジェクトフォルダの直下で実行します。
コマンド
npm init -y
package.json には、インストールされたパッケージの情報などが入ります。通常、プロジェクトフォルダの直下で実行します。
3. パッケージのインストール
次のコマンドでパッケージをインストールします。
パッケージをインストールすると、package.json にインストールしたパッケージの情報が追記されます。
この時、パッケージが他のパッケージを使用している場合は、依存するパッケージもインストールされます。
そして、package-lock.json に、依存しているパッケージの情報が入ります。
実際のパッケージのファイルは、node_modules フォルダに入ります。
ちなみに、cowsay をインストールして、次のコマンドを実行すると、牛さんのアスキーアートが出力されます。
コマンド
npm install {パッケージ名}
(例)
npm install cowsay # 牛さんのアスキーアートを出力するパッケージ
パッケージをインストールすると、package.json にインストールしたパッケージの情報が追記されます。
この時、パッケージが他のパッケージを使用している場合は、依存するパッケージもインストールされます。
そして、package-lock.json に、依存しているパッケージの情報が入ります。
実際のパッケージのファイルは、node_modules フォルダに入ります。
ちなみに、cowsay をインストールして、次のコマンドを実行すると、牛さんのアスキーアートが出力されます。
コマンド
npx cowsay Hello
実行結果
_______
< Hello >
-------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||4. 別の環境に同じパッケージをインストールする
package.json を別の環境にコピーして、次のコマンドを実行します。
完全に同じバージョンのパッケージの環境を作りたい場合は、
package.json と package-lock.json をコピーして次のコマンドを実行します。
再現性が重要な場合は「npm ci」(クリーンインストール)を使ってください。
コマンド
npm install
package.json のバージョンの指定方法によって、パッケージが新しくなる可能性があります。完全に同じバージョンのパッケージの環境を作りたい場合は、
package.json と package-lock.json をコピーして次のコマンドを実行します。
コマンド
npm ci
「npm install」の場合は、バージョンの指定方法によってバージョンが変わる可能性があるため、再現性が重要な場合は「npm ci」(クリーンインストール)を使ってください。
5. パッケージの更新
次のコマンドでパッケージを更新することができます。
package.json のバージョンを直接書き換えて更新したい場合は、
node_modules と package-lock.json を削除してから、package.json を使って再インストールするとトラブルが少ないです。
コマンド
npm update
package.json のバージョンを直接書き換えて更新したい場合は、
node_modules と package-lock.json を削除してから、package.json を使って再インストールするとトラブルが少ないです。
コマンド
npm install6. package.json のパッケージのバージョンについて
バージョン固定
npm install、npm update をしても、バージョンが変わりません。
マイナーバージョンのみ自動更新
npm install、npm update で、10.0.3以上、11未満の異なるバージョンになる可能性があります。
パッチバージョンのみ自動更新
npm install、npm update で、5.9.3以上、5.10.0未満の異なるバージョンになる可能性があります。
npm install、npm update をしても、バージョンが変わりません。
設定
"prettier": "3.8.1",
マイナーバージョンのみ自動更新
npm install、npm update で、10.0.3以上、11未満の異なるバージョンになる可能性があります。
設定
"eslint": "^10.0.3",
パッチバージョンのみ自動更新
npm install、npm update で、5.9.3以上、5.10.0未満の異なるバージョンになる可能性があります。
設定
"typescript": "~5.9.3",
