【问题标题】:Package-lock.json being built with weird structure and doubled in sizePackage-lock.json 结构怪异,体积翻了一番
【发布时间】:2021-07-25 01:26:30
【问题描述】:

嘿,当我运行 npm install 并且正在生成我的包锁定文件时,它正在以一种奇怪的结构构建文件。现在我已经与我们的其他开发人员核实过,尝试在相同的分支上进行模拟,但他们没有遇到同样的问题。所以这对我来说一定是本地问题。

我最近更新了节点,但是我运行的节点版本与其他开发者相同,他们没有遇到问题。

节点版本 - 14.17.3 npm 版本 - 7.20.1

起初我认为这可能是节点问题,但我们使用的是同一版本。我尝试删除 node_modules 和 json 锁并执行新的 npm i 但遇到同样的问题。

在运行 npm run bundle 时,它​​似乎构建正常,但文件结构对我来说看起来很奇怪,而且它的行大小增加了一倍。我不能把文件的全部内容放在这里,因为它有超过 50,000 行。但我可以给你一个文件的快照,从它应该看起来的样子到现在的样子。

之前:

  {
  "name": "@culture-trip/header-ui-module",
  "version": "8.12.11",
  "lockfileVersion": 1,
  "requires": true,
  "dependencies": {
    "@babel/code-frame": {
      "version": "7.12.13",
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
      "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
      "dev": true,
      "requires": {
        "@babel/highlight": "^7.12.13"
      }
    },
    "@babel/compat-data": {
      "version": "7.13.8",
      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.8.tgz",
      "integrity": "sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog==",
      "dev": true
    },

之后:

{
  "name": "@culture-trip/header-ui-module",
  "version": "8.12.11",
  "lockfileVersion": 2,
  "requires": true,
  "packages": {
    "": {
      "name": "@culture-trip/header-ui-module",
      "version": "8.12.11",
      "license": "TCT",
      "dependencies": {
        "axios": "^0.21.1",
        "js-cookie": "^2.2.1",
        "lodash.debounce": "^4.0.8",
        "react-autocomplete": "github:culture-trip/react-autocomplete#415ebd07c1b5a9037513a76d82d6e0fa54b7fc50",
        "react-router-dom": "^5.2.0"
      },

如您所见,实际结构发生了变化。我真的不确定这里发生了什么,所以希望有人可以提供帮助。

【问题讨论】:

    标签: javascript node.js reactjs node-modules


    【解决方案1】:

    您的package-lock.json 文件使用的是lockfileVersion: 2,自从您从旧的npm 版本更新后,它可能已经发生了变化。

    "lockfileVersion": 2,
    

    新文件被展平以提高读写时的性能。这会无意中使文件变长。

    如果您想继续使用旧版本的lockfile,则必须将downgrade your npm version 更改为低于 7 的任何内容。

    More on the package-lock.json file.

    【讨论】:

      猜你喜欢
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 2018-10-06
      • 2018-03-21
      相关资源
      最近更新 更多