我不小心删除了package-lock.json文件,npm install没有生成新的文件。如何让npm重新创建这个文件。
我不小心删除了package-lock.json文件,npm install没有生成新的文件。如何让npm重新创建这个文件。
可能会有一个名为.npmrc
的文件,其中可能包含
package-lock=false
这将导致不生成软件包锁定文件。
理论上,您还可以在全局范围内打开 npm config set package-lock false
(更改为 true
以重新打开),但这更不可能是无意中发生的。
npm ci
的项目,但是由于缺少 package-lock 文件而失败了 - 那么为什么维护者会将此设置添加到 npmrc 中呢? - Matt在npm v5中引入了package-lock.json文件,因此您需要采取哪些步骤来重新生成package-lock.json取决于您使用的npm版本。
顺便说一句,让我们验证一下node和npm的版本。
npm -v
输出:x.x.x
node -v
打印:x.x.x
如果符合以下两个条件,即npm版本>5.x.x和node版本>7.x.x,则会自动生成package-lock.json文件。
然后,根据您的npm版本,尝试以下步骤:
npm v5+:
通过运行npm install
重新生成package-lock.json文件。您还可以使用npm install --package-lock-only
重新生成文件,而不实际下载依赖项。
npm v4.x及更早版本:
npm shrinkwrap
生成npm-shrinkwrap.json文件。在较早版本的npm中,此文件的格式与package-lock.json相同,并且在本质上达到了相同的目的(有关此点的详细信息,请参见https://docs.npmjs.com/files/package-lock.json和https://docs.npmjs.com/files/shrinkwrap.json)npm install
命令时不会生成package-lock.json文件。 - angularsen.npmrc
可能会有 package-lock=false
的设置,而我们的项目恰好是这样的。请你将其翻译成通俗易懂的中文,且不要改变原意。 - angularsenpwd
获取当前所在路径)。npm install
,只是后来才发现我是在错误的文件夹中进行操作。我也遇到了同样的问题
我只是从.npmrc中删除了package-lock=false
,现在它正在创建锁定文件
npm i
后,它没有生成任何内容。使用的是 node 6.12.2 和 npm 3.10.10。 - Mike Milkmanshrinkwrap.json
,很可能是某些设置。但是如果您找不到 package-lock.json
,那么检查是否有这样的文件是值得的。 - cloned
npm
只有在修改node_modules
文件夹时才会创建/更新锁定文件,因此理论上您可以删除node_modules
文件夹,运行npm i
,它应该为您重新生成文件。 - wjvanderpackage-lock=false
。这也是package-lock.json
不存在的另一个原因。请注意,这可能会影响package-lock.json
的生成。 - Kevin