首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么--save-dev选项将依赖项添加为“版本号或更高版本”,而不是“此确切的版本号”。

为什么--save-dev选项将依赖项添加为“版本号或更高版本”,而不是“此确切的版本号”。
EN

Stack Overflow用户
提问于 2014-04-24 12:38:59
回答 1查看 42关注 0票数 0

如果我执行npm install "grunt-contrib-uglify" --save-dev,下面的行将被添加到开发依赖项中:

代码语言:javascript
复制
grunt-contrib-uglify: "^0.4.0",

我认为构建脚本应该引用所需工具的确切版本,并在需要时手动升级工具,以避免在构建过程中出现不适当的时间倒退。

所以我感到惊讶的是,增加的行不是

代码语言:javascript
复制
grunt-contrib-uglify: "~0.4.0",

我是不是漏掉了什么?应该始终在使用--save-dev选项后将^更改为a~吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-24 13:33:39

~也不意味着确切的版本,~和^都是符号学的一部分,并且指示不同级别的非破坏更改,即它将减少错误修复和重新因素,但不会破坏更改。

你有多相信这真的取决于你。您相信包所有者在进行错误修复时不会引入破坏的更改吗?你相信你的测试会发现任何问题吗?如果没有,那么您可能希望在版本之前没有任何符号来获得确切的版本。还可以收缩膜您的依赖项。

编辑:有关package.json中~、^和其他符号含义的更多信息,请参见https://github.com/isaacs/node-semver。就这一具体情况而言:

~1.2 := >=1.2.0-0 <1.3.0-0“任何以1.2”开头的版本 ^1.2 := >=1.2.0-0 <2.0.0-0“与1.2”兼容的任何版本

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23269149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档