「package.json」「package-lock.json」について少し調べてみました。
公式サイト
package.json
とは?
イメージ
package.json
=買うものリスト- 最低限の条件が記載されている
- 再現性が無い
- 実際に何がインストールされるかは分からない
- 時期により結果が変わる可能性がある
- 再現性が無い
詳細
- アプリが依存するパッケージに関する情報を記録するのに使用するファイル
JSON形式で各種の設定を記述する
必須項目
項目 説明 name属性 アプリ/モジュールの名称 version属性 バージョン 自作のモジュールなどを配布する際には、この二つの属性が識別子となる
package.json
を作成する
- プロジェクトのルートディレクトリで「npm init」コマンドを実施する
package.json
にパッケージを追加する
- dependencies属性にプロジェクトが依存するパッケージを追加する
npm install パッケージ名 --save
を実行
- devDependencies属性に、プロジェクトが依存するパッケージを追加するには
npm install パッケージ名 --save-dev
を実行
※ package.json
をテキストエディターで開き、直接編集しても良い。
package-lock.json
とは?
イメージ
package-lock.json
=実際に買ってきた領収書
詳細
- package.jsonに従いインストールしたパッケージとバージョンの情報が記載してある。
再現性がある
- 環境を統一する際に有効
package.json
、package-lock.json
は、両方ともnpm install
に利用することができます。- 両方が存在するときは、
package-lock.json
が優先されるようです。
- 両方が存在するときは、
package-lock.json
を作成する
npm install
を実行すると作成される。