npm依赖包版本号~和^的区别
栏目:
NodeJs
发布时间:2024-12-05
在 npm package.json 文件中,常见版本号有三种:
1、固定版本号
即使用固定的版本号,不会发生变化
{
"dependencies": {
"node": "16.13.0"
}
}
2、使用 ~ 锁定版本号前 2 位,允许更新最后 1 位
{
"dependencies": {
"node": "~16.13.0"
}
}
~16.13.0 匹配 16.13.x,可以是 16.13.1、16.13.9 等等,但必须小于 16.14.0
3、使用 ^ 锁定版本号第 1 位,允许更新后 2 位
{
"dependencies": {
"node": "^16.13.0"
}
}
^16.13.0 匹配 16.x.x,可以是 16.13.1、16.14.0 等等,但必须小于 17.0.0
小结
1.0.0 匹配固定版本"1.0.0",最稳定,所有升级都要在 package.json 修改版本号
~1.0.0 匹配 1.0.x 可以自动升级依赖包的 bugfix 版本
^1.0.0 匹配 1.x.x 较危险,依赖包可能会有破坏性的升级
综上,推荐使用 ~1.0.0 的写法,既可以升级 bugfix 版本,又可以降低引入破坏性的版本升级的风险。
本文地址:https://www.tides.cn/p_node-npm-package-version