我不小心删除了我的package-lock.json文件。 npm install没有生成新的。如何让npm重新创建此文件。
答案 0 :(得分:15)
FYI。让我们验证节点的版本和npm。
npm -v
prints: x.x.x
node -v
prints: x.x.x
我相信如果有2个条件,就会自动生成package-lock.json npm版本> 5.x.x和节点版本>符合7.x.x
答案 1 :(得分:14)
可能有一个名为.npmrc
的文件,可以包含
package-lock=false
这将导致不生成任何软件包锁定文件。
答案 2 :(得分:1)
要解决此问题,我尝试了以下提到的方法,它对我有用:
确保您的软件包锁已全局启用,您可以使用以下方法启用它:
npm config set package-lock true
要确保您的.npmrc不会阻止程序包锁定文件的创建,请将其设置为.npmrc
echo'package-lock = true'>> .npmrc
注释 :对于npm修改node_modules树或npm -v> 5.xx的package.json的任何操作,都会自动生成package-lock.json。
检查您的npm版本: npm -v
使用以下命令将您的npm更新为最新版本:
npm install -g npm @ latest
npm i -g npm-upgrade
@will
答案 3 :(得分:0)
我也面临着同样的问题 我刚刚从.npmrc中删除了package-lock = false,现在它正在创建锁定文件
答案 4 :(得分:-2)
如果您的npm版本<5,那么在运行npm install时,您将创建一个shrinkwrap.json
文件。
否则将在npm版本5及更高版本上创建package-lock
。