【问题标题】:What does "^" mean in package.json versioning?package.json 版本控制中的“^”是什么意思?
【发布时间】:2014-04-03 23:17:56
【问题描述】:

我最近使用--save-dev 标志运行npm install (npm 1.4.3),它添加到我的package.json 的包条目都以^ 开头,例如"^2.5.0"。我以前从未在我使用过的早期版本的 npm 中看到过这种情况,而且我找不到任何关于这个表示法的文档,只有我已经熟悉的表示法,例如~>= 等。是什么意思?

【问题讨论】:

    标签: npm


    【解决方案1】:

    引用isaacs/node-semver:

    • ^1.2.3 := >=1.2.3-0
    • ^0.1.3 := >=0.1.3-0
    • ^0.0.2 := =0.0.2 "只有 0.0.2 版本被认为是兼容的"

    也就是说,我建议使用“~”,因为它具有更直观的语义,请参阅npm/npm#4587 中的讨论。

    【讨论】:

    • 谢谢。我会阅读您链接的讨论,但我的第一印象是这是一个非常冒险的新默认设置,只会为我的工作流程增加另一个步骤。
    • 你说的“又一步”是什么意思?
    • 我的意思是我以前依赖默认给我“~”,这是我想要的,所以现在我必须手动更改它。没什么大不了的。
    • 您不必手动更改它。只需将 this patch 应用到您的 npm 安装中即可使前缀可配置。
    • 它也仅在某些版本的 npm 中受支持。知道这些是哪些版本吗?
    猜你喜欢
    • 1970-01-01
    • 2012-03-16
    • 2021-08-01
    • 2018-01-24
    • 2019-07-22
    • 1970-01-01
    • 2022-11-08
    • 2019-05-06
    • 1970-01-01
    相关资源
    最近更新 更多