【问题标题】:Why does `yarn upgrade my_package` upgrade without respecting the version in package.json为什么`yarn upgrade my_package`升级而不考虑package.json中的版本
【发布时间】:2025-12-03 02:10:01
【问题描述】:

我的 package.json

{
  "name": "test",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "rxjs": "5.2.0"
  }
}

我首先做yarn installrxjs 变成5.2.0

然后yarn upgrade rxjs,就变成"rxjs": "^5.4.2"

我的纱线版本 0.27.5

【问题讨论】:

    标签: node.js npm yarnpkg


    【解决方案1】:

    根据Docs

    yarn 升级 [包 |包@标签 |包@版本 | @scope/]... [--ignore-engines]

    ...

    [package] : 当指定的包只是一个名字时,将升级到该包的最新补丁版本。

    这是有道理的。如果你想升级你的项目,你希望包管理器遵循声明的 Semver Range。

    但如果您想升级特定软件包,它会将其更新到最新的补丁版本

    【讨论】: