Ana*_*mar 8 npm semantic-versioning
npm 版本之间的 OR 运算符 (||) 有何意义?
例如:
"dependencies": {
"@jupyter-widgets/base": "^1.1.10 || ^2 || ^3"
}
Run Code Online (Sandbox Code Playgroud)
我发现我总是安装版本 3。
正如您所期望的,双管道 OR 运算符允许您创建由其他 semver 字符串组成的 semver。如果满足 OR 的任何操作数,则满足表达式。
在 NPM 依赖项的上下文中,包管理器通常会使用满足 AND 中的 semver 字符串的包的最新版本,package.json在当前环境中工作。例如,如果一个包与 v2 和 v3 的某个依赖项兼容,但不与 v1 或 v4 兼容,则^2 || ^3最好在 semver 中使用。对于大多数人来说,包管理器将安装 v3,但如果 v3 与 macOS 不兼容,包管理器将为 macOS 用户安装 v2。
实际上,OR 运算符在决定安装哪些依赖项时为包管理器提供了更多选项,但在现代 JavaScript 中,没有什么理由使用它,因为您很少能够使用任何给定包的不同主要版本。
| 归档时间: |
|
| 查看次数: |
3241 次 |
| 最近记录: |