javascript - Npm 本地依赖将生成一个新的 package-lock.json 与任何安装
问题描述
我们有一个旧的遗留应用程序,以及一个我们想要集成到其中的相对较小的包。为了使整个过程尽可能减少开销,我们决定通过从 repo 本身安装包来做到这一点。
例如,我们的结构如下所示:
- BigApp
- SmallPackage
- package.json
- package.json
因此,BigApp
package.json 具有以下依赖项:
SmallPackage: "file:./SmallPackage"
现在一切都很好,直到我们注意到每npm install
一个新package-lock.json
的被创建。这是一个不受欢迎的副作用,因为没有真正改变。
我想不出另一个原因,但我们使用了这个本地安装路径。
任何人都可以想出为什么会这样吗?
顺便说一句,我听说过npm ci
- 它适合这种情况吗?谢谢
解决方案
package-lock.json
在最新版本的npm
. 这不是因为您是从本地路径或类似路径安装的。
如果您不想要package-lock.json
文件的好处,可以在项目根目录中运行npm
或--no-package-lock
放入package-lock=false
文件.npmrc
。您也可以删除package-lock.json
或忽略它。
npm ci
取决于package-lock.json
or npm-shrinkwrap.json
,所以如果你想使用npm ci
,你可能需要这个package-lock.json
文件。
推荐阅读
- c++ - C++中数组的背景知识
- javascript - 如何使用 JSON 创建 ul li 动态菜单
- python - Python基本数学运算
- bash - 在 bash shell 脚本中打印最后一个登录用户的输出中的问题?
- python-3.x - 如何使用 openpyxl 将列表内容写入 Excel 工作表
- reactjs - 反应:无法从这个文件中缩小代码 - 因为我做了一个改变
- android - 是否应该避免将应用程序上下文传递给应用程序中的这么多类?
- sql - MERGE INTO 更新失败
- ios - 为什么 autoFocusRangeRestriction 没有效果?
- javascript - 使用 Vanilla JavaScript 合并对象