NodeJS Package-lock.json被构建为奇怪的结构,大小增加了一倍

juzqafwq  于 2023-03-29  发布在  Node.js
关注(0)|答案(2)|浏览(185)

嘿,当我运行npm install时,我的包锁文件正在生成,它正在以一种奇怪的结构构建文件。现在我已经检查了我们的其他开发人员,试图在相同的分支上模拟这个问题,他们没有遇到同样的问题。所以这一定是我本地的问题。
我最近更新了节点,但我运行的节点版本与其他开发人员相同,他们没有得到这个问题。
node版本- 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"
      },

正如你所看到的,实际的结构已经改变了。我真的不知道这里发生了什么,所以希望有人能帮忙。

carvr3hs

carvr3hs1#

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

"lockfileVersion": 2,

新文件被展平以提高阅读性能。这无意中使文件变长了很多。
如果你想继续使用旧版本的lockfile,你可以将downgrade your npm version升级到7以下的版本。
More on the package-lock.json file.
编辑:你不必降级npm,请参阅Vadim的回答。

gudnpqoy

gudnpqoy2#

你不必降级你的npm,你可以通过使用--lockfile-version标志来保持旧的package-lock.json
就你而言

npm i --lockfile-version 1

会起作用。

相关问题