【问题标题】:Why npm installs different version of dependency from what is specified in package-lock.json?为什么 npm 会安装与 package-lock.json 中指定的不同版本的依赖项?
【发布时间】:2022-01-08 03:44:37
【问题描述】:

节点-v
v17.2.0

npm -v
8.1.4

package.json

{
  "name": "untitled",
  "version": "0.0.0",
  "private": true,
  "devDependencies": {
    "stylelint": "^14.1.0"
  }
}

npm i
npm list postcss

/* Output:
└─┬ stylelint@14.1.0
  ├─┬ postcss-safe-parser@6.0.0
  │ └── postcss@8.4.4 deduped
  └── postcss@8.4.4 (why is here version 8.4.4 ???)
*/

Stylelint 存储库主分支发布 14.1.0 package.json postcss 依赖: https://github.com/stylelint/stylelint/blob/fcd5ac1ffa4f2ad1f06cb2277aad035ffe309ccc/package.json#L135 是 8.3.11

所以,问题是:为什么 npm 在应该安装 8.3.11 时却安装 8.4.4 版?我错过了什么吗?

【问题讨论】:

    标签: node.js npm postcss stylelint


    【解决方案1】:

    您链接中的 postcss 版本是 ^8.3.11。插入符号表示“与版本兼容”,并将更新您到最新的次要 + 补丁版本。请参阅npm docs

    另外,请注意:这是package.json 而不是package-lock.json,它确实将您锁定在特定的major.minor.patch 版本中。

    【讨论】:

    • 是的,没错,但由于某种原因,它们不兼容:(谢谢,伙计
    猜你喜欢
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 2021-01-31
    • 2018-11-06
    • 1970-01-01
    • 2018-04-19
    • 2017-12-14
    • 2020-01-16
    相关资源
    最近更新 更多