我不小心删除了它,并对包装做了很多更改。json。npm安装或npm更新不会生成包锁。json。我尝试清除我的npm缓存和我的nvm缓存,但似乎没有工作。我在几个版本的Node.js上尝试了它(6.10.3 Node.js - 3.10.10 npm是我想让它工作的),它在任何版本上都不能工作。
有没有办法强制npm生成包锁。json文件吗?
我不小心删除了它,并对包装做了很多更改。json。npm安装或npm更新不会生成包锁。json。我尝试清除我的npm缓存和我的nvm缓存,但似乎没有工作。我在几个版本的Node.js上尝试了它(6.10.3 Node.js - 3.10.10 npm是我想让它工作的),它在任何版本上都不能工作。
有没有办法强制npm生成包锁。json文件吗?
当前回答
在npm 6中。X和7。你可以使用X
npm i --package-lock-only
根据npm v6, npm v7或最新版本的文档:
——package-lock-only参数只会更新包锁。Json,而不是检查node_modules和下载依赖项。
其他回答
这个问题在评论中得到了回答;package-lock。Json是NPM v5及更高版本的特性。在NPM的所有版本中,你都可以使用shrinkwrap来创建一个锁文件。
在使用本地包时,我发现可靠地重新生成包锁的唯一方法。Json文件是删除它,以及在链接模块和所有相应的node_modules文件夹,并让它重新生成NPM I
在npm 6中。X和7。你可以使用X
npm i --package-lock-only
根据npm v6, npm v7或最新版本的文档:
——package-lock-only参数只会更新包锁。Json,而不是检查node_modules和下载依赖项。
如果你的npm版本低于版本5,那么安装更高的版本,以自动生成package-lock.json。
示例:将您当前的npm升级到6.14.0版本(示例-您可以选择任何其他最新版本)
npm i -g npm@6.14.0
您可以通过查看最新的npm版本列表
npm view npm versions
正如几个答案所解释的,你应该跑:
Npm 和
但如果它不能解决……
检查你的npm可执行文件的版本。(对我来说是3.x。X不使用包锁。Json(所有))
npm - v
它至少应该是5.x。X(引入包锁。json文件。)
要在Linux上更新npm,请遵循以下说明。
有关包文件的更多详细信息,请阅读这篇媒体报道。