私はそれを誤って削除し、それ以来package.json
に多くの変更を加えました。 npm install
またはnpm update
はもうpackage-lock.json
を生成しません。 npmキャッシュとnvmキャッシュをクリアしようとしましたが、何も機能していないようです。私はそれをいくつかのバージョンのnode(6.10.3 node - 3.10.10 npm)で試してみましたが、どれも動きません。
Npmにpackage-lock.json
ファイルを生成させる方法はありますか?
デフォルトでは、package-lock.json
を実行するたびにnpm install
が更新されます。ただし、これはpackage-lock=false
に~/.npmrc
を設定することによってグローバルに無効にすることができます。
グローバルなpackage-lock=false
設定が有効な場合でも、次のコマンドを実行してプロジェクトのpackage-lock.json
ファイルを強制的に更新することができます。
npm install --package-lock
このコマンドはpackage-lock.json
更新を強制する唯一の確実な方法です。
これはコメントで答えられています。 package-lock.json
はnpm
v5以降の機能です。 npm shrinkwrap
は、すべてのバージョンのnpm
でロックファイルを作成する方法です。
Npm 6.xではあなたが使用することができます
npm i --package-lock-only
によると https://docs.npmjs.com/cli/install.html
--package-lock-only引数は、node_modulesをチェックして依存関係をダウンロードするのではなく、package-lock.jsonのみを更新します。
package-lock.jsonは、npm iを実行するたびに再生成されます。