在 dependencies 或 devDependencies 下列出的每个包版本号,可以使用特定的符号来指定依赖项的版本范围,这些符号包括:
波浪线(~): 允许次要版本升级。例如,~1.2.3 会匹配所有 1.x.x 版本,但不会升级到 2.x.x。这适用于当你希望获得 bug 修复和小功能改进,但不想引入破坏性变更的情况。
插入符号(^): 允许次版本和修订版本升级。例如,^1.2.3 会匹配 1.x.x 的任何版本,包括 1.3.x 和 1.4.x,但同样不会升级到 2.x.x。这适用于较为宽松的兼容性要求,接受新功能的同时保持主要版本不变。
精确版本: 直接指定版本号,如 1.2.3,将严格安装该版本。
大于号(>)、小于号(<)、大于等于号(>=)、小于等于号(<=): 这些符号允许你指定更复杂的版本范围,例如 >=1.2.0 <2.0.0 表示至少 1.2.0 但不能高于 2.0.0 的任何版本。
星号(*) 或 空字符串: 这表示最新版本。尽管这提供了最大的灵活性,但也可能导致不可预知的升级问题,因此在生产环境中谨慎使用。