npm包package版本范围

https://docs.npmjs.com/cli/v7/using-npm/semver#tilde-ranges-123-12-1

npm vesion 的几个概念

比如webpack 5.37.1版本,在npm这类版本号X.Y.Z可以理解为major.minor.patch

  • major 主要的
  • minor 次要的
  • patch 修补,补丁

当然也有另外一种变形预先版本,X.Y.Z-N,可以理解为major.minor.patch-[premajor|preminor|prepatch|prerelease]

还有一点就是涉及npm升版本的操作,npm version [major|minor|patch|premajor|preminor|prepatch|prerelease]

比如:npm version: 1.1.0

  • npm version patch: 1.1.1
  • npm version prepatch:1.1.1-0,npm version prepatch:1.1.2-0
  • npm version minor: 1.2.0
  • npm version preminor:1.2.0-0,npm version preminor:1.3.0-0
  • npm version major: 2.0.0
  • npm version premajor:2.0.0-0,npm version premajor:3.0.0-0

那么npm version prerelease是做什么的?
假设有版本号:1.1.1

  • npm version prerelease: 1.1.1-0,npm version prerelease:1.1.1-1。会在后面加一个prerelease主版本不变,其他版本往上加。

范围range

  • 'X.Y.Z - U.V.W',会尽可能下载范围内最新的版本。
    >=X.Y.Z && <= U.V.W
  • X.Y.x 下载 X.Y.xmajor固定minor固定,patch最新,依次类推。x则表示最新版本

~

表示范围内到下个版本,根据.来表示限制范围是否是major 或者minor`,

  • ~1.2.3 := >=1.2.3 <1.(2+1).0 := >=1.2.3 <1.3.0 等同于 1.2.3-1.3.0
  • ~1.2 := >=1.2.0 <1.(2+1).0 := >=1.2.0 <1.3.0 等同于 1.2.x
  • ~1 := >=1.0.0 <(1+1).0.0 := >=1.0.0 <2.0.0 等同于1.x

^

表示范围是:版本号从最左边开始第一个非0的版本保持不动。

  • 1.2.3,最左边第一个是1,表示从1.2.3开始,小于2x
  • 0.7.2,最左边第一个是7,表示从0.7.2开始,小于0.8.0
  • 0.7.2,最左边第一个是7,表示从0.7.2开始,小于0.8.0

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):