npm が特定の形式を使用するように package-lock.json lockfileVersion を修正する方法はありますか? 質問する

npm が特定の形式を使用するように package-lock.json lockfileVersion を修正する方法はありますか? 質問する

2 人の異なる開発者が、もともと を使用して作成されたプロジェクトで、異なるバージョンの node (12/15) と npm (6/7) を使用している場合、npm 7x を使用する開発者が新しいパッケージをインストールすると、 がを使用して再作成されるpackage-lock.json "lockfileVersion": 1ようです。package-lock.json"lockfileVersion": 2

これは、npm v6 を使用する開発者にとって問題を引き起こすようです。 を操作しようとするlockfileVersion 2と、新しい diff が生成されてしまいます。

npm WARN read-shrinkwrap このバージョンの npm は lockfileVersion@1 と互換性がありますが、package-lock.json は lockfileVersion@2 用に生成されました。最善を尽くします!

の新しいバージョンのみを使用するnpmように指定する方法はありますか? それとも、すべての開発者に の同じバージョンを使用させる必要があるのでしょうか?"lockfileVersion": 1npm

ベストアンサー1

バージョン には、デフォルトのロック ファイル バージョンを上書きできる8.1.0フラグがあります。--lockfile-versionnpm

npm i --lockfile-version 3

フラグを追加することで、依存関係をインストールせずにロックファイルのみを更新/生成することもできます。--package-lock-only

npm i --lockfile-version 3 --package-lock-only

元のPRへのリンクはこちらです。

おすすめ記事