0

npm-shrinkwrap.json : node_modules ツリー、依存関係、およびネストされた依存関係をロックダウンして、パッケージ コードが他のマシンで壊れないようにします。

package-lock.json : node_modules ツリー、依存関係、およびネストされた依存関係をロックダウンして、パッケージ コードが他のマシンで壊れないようにします。

では、npmがロック目的で既にnpm-shrinkwrap.jsonを持っている場合、 package-lock.jsonが作成されるのはなぜですか?

開発者はすでにnpm-shrinkwrap.jsonを使用しているのに、npm バージョンの互換性の問題を引き起こすために新しいpackage-lock.jsonファイルを作成したのはなぜですか?

例を挙げたシンプルで簡単でよく説明された答えはありますか?

4

2 に答える 2

0

npm はデフォルトでほとんどのファイルをソース ディレクトリにパブリッシュします。人々は何年も前からシュリンクラップをパブ​​リッシュしてきました。互換性を壊したくありませんでした。デフォルトで --save と Shrinkwrap を使用すると、誤ってレジストリに侵入して伝播し、基本的に deps と dedupe を更新する機能が無効になるという大きなリスクがありました。

そこで、新しい名前を選びました。そして、突然新しい名前を選びました。新しいロックファイルは、基本的にすべて同じコード、まったく同じ形式を共有します

package-lock.json がシュリンクラップ技術の最新かつ最高のものであること、および npm-shrinkwrap.json が正確な node_modules を持つライブラリを非常に気にかけている人々のために予約されることは間違いありません。 package-lock にはない特別な依存関係の動作設定

于 2018-09-16T15:57:38.770 に答える