首页 > 解决方案 > Npm 本地依赖将生成一个新的 package-lock.json 与任何安装

问题描述

我们有一个旧的遗留应用程序,以及一个我们想要集成到其中的相对较小的包。为了使整个过程尽可能减少开销,我们决定通过从 repo 本身安装包来做到这一点。

例如,我们的结构如下所示:

- BigApp
  - SmallPackage
    - package.json
  - package.json

因此,BigApppackage.json 具有以下依赖项:

SmallPackage: "file:./SmallPackage"

现在一切都很好,直到我们注意到每npm install一个新package-lock.json的被创建。这是一个不受欢迎的副作用,因为没有真正改变。

我想不出另一个原因,但我们使用了这个本地安装路径。

任何人都可以想出为什么会这样吗?

顺便说一句,我听说过npm ci- 它适合这种情况吗?谢谢

标签: javascriptnpmdependenciesnpm-install

解决方案


package-lock.json在最新版本的npm. 这不是因为您是从本地路径或类似路径安装的。

如果您不想要package-lock.json文件的好处,可以在项目根目录中运行npm--no-package-lock放入package-lock=false文件.npmrc。您也可以删除package-lock.json或忽略它。

npm ci取决于package-lock.jsonor npm-shrinkwrap.json,所以如果你想使用npm ci,你可能需要这个package-lock.json文件。


推荐阅读