我不小心删除了它,并对包装做了很多更改。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文件吗?
当前回答
在使用本地包时,我发现可靠地重新生成包锁的唯一方法。Json文件是删除它,以及在链接模块和所有相应的node_modules文件夹,并让它重新生成NPM I
其他回答
这个问题在评论中得到了回答;package-lock。Json是NPM v5及更高版本的特性。在NPM的所有版本中,你都可以使用shrinkwrap来创建一个锁文件。
默认为package-lock。每当你运行NPM install时,Json都会被更新。但是,可以通过在~/.npmrc中设置package-lock=false全局禁用此功能。
当全局package-lock=false设置激活时,您仍然可以强制项目的package-lock。Json文件,执行以下命令更新:
npm install --package-lock
这个命令是强制包锁定的唯一可靠方法。json更新。
在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
在使用本地包时,我发现可靠地重新生成包锁的唯一方法。Json文件是删除它,以及在链接模块和所有相应的node_modules文件夹,并让它重新生成NPM I