我不小心删除了我的 package-lock.json 文件。npm install 不会生成新的。如何让 npm 重新创建此文件。
5 回答
可能有一个名为的文件.npmrc
可以包含
package-lock=false
这将导致无法生成包锁定文件。
从理论上讲,您也可以npm config set package-lock false
全局打开(更改为true
再次打开),但这不太可能无意中发生。
package-lock.json 文件是在 npm v5 中引入的,因此重新生成 package-lock.json 所需的步骤取决于您使用的 npm 版本。
供参考。让我们验证一下 node 和 npm 的版本。
npm -v
印刷:x.x.x
node -v
印刷:x.x.x
如果满足 npm 版本 > 5.xx 和节点版本 > 7.xx 的 2 个条件,我相信 package-lock.json 会自动生成
然后,根据您拥有的版本尝试以下步骤:
npm v5+:
通过运行重新生成 package-lock.json npm install
。您也可以使用重新生成文件而不实际下载依赖项npm install --package-lock-only
npm v4.x 及更早版本:
- 通过运行生成 npm-shrinkwrap.json
npm shrinkwrap
。此文件与 package-lock.json 具有相同的格式,并且在 npm 的早期版本中实现了基本相同的目的(请参阅https://docs.npmjs.com/files/package-lock.json和https://docs.npmjs .com/files/shrinkwrap.json有关这一点的详细信息) - 将 npm-shrinkwrap.json 重命名为 package-lock.json
为了解决这个问题,我尝试了下面提到的事情,它对我有用:
确保您的包锁全局启用,您可以使用以下方法启用它:
npm config set package-lock true
要确保您的 .npmrc 不会阻止创建包锁定文件,请将其设置为您的 .npmrc
回声“包锁=真”>>.npmrc
注意:对于 npm 修改 node_modules 树或 package.json 为 npm -v > 5.xx 的任何操作,都会自动生成 package-lock.json
检查你的 npm 版本:npm -v
使用以下命令将您的 npm 更新到最新版本:
npm install -g npm@latest
npm i -g npm-upgrade
@将要
我也面临同样的问题
我刚刚package-lock=false
从 .npmrc 中删除了,现在它正在创建锁定文件
如果您的 npm 版本 <5,您将在运行 npm install 时shrinkwrap.json
创建一个文件。
否则package-lock
将在 npm 5 及更高版本上创建。