package-lock.json と package.json の両方が必要ですか? 質問する

package-lock.json と package.json の両方が必要ですか? 質問する

NPM を最新バージョン (3.X から 5.2.0) に更新し、npm install既存のプロジェクトで実行すると、自動作成されたpackage-lock.jsonファイルが得られます。

package-lock.jsonとは対照的に、正確な依存関係ツリーが得られることがわかりますpackage.json

package.jsonその情報だけを見ると、それは冗長であり、もう必要ないように思えます。

NPM が動作するには両方必要ですか?ファイル
のみを使用しても安全ですか、または可能ですかpackage-lock.json?

package-lock.jsonのドキュメント(ドキュメント1ドキュメント2)ではそのことについては何も言及されていません。

編集

さらに考えた結果、誰かがあなたのプロジェクトを古いバージョンのNPM(5.xより前)で使用したい場合、依存関係はすべてインストールされるが、精度の低いバージョン(パッチバージョン)になるという結論に達しました。

ベストアンサー1

package-lock.jsonと の両方が必要ですかpackage.json?いいえ

が必要ですかpackage.jsonはい

だけのプロジェクトは可能ですかpackage-lock.jsonいいえ

package.json、プロジェクトのプロパティ、説明、作成者とライセンス情報、スクリプトなどの定義など、依存関係以外の目的にも使用されます。 は、package-lock.json依存関係を特定のバージョン番号にロックするためにのみ使用されます。

おすすめ記事