首页 > nodejs > faq > 8.package.json ^ ~ latest符号意义

8.package.json ^ ~ latest符号意义

package.json是npm管理模块版本号的配置文件.package.json中~ ^ latest是版本号控制符.用来控制模块自动更新版本号的范围.

1 package.json版本号示例

"dashidan.com-parser": "~1.15.2",
"dashidan.com-writeer": "^3.1.6",
"dashidan.com-reader": "latest",

2 package.json中~符号

npm模块会更新到当前中间版本(minor version)也就是中间的那位数字中最新的版本.以dashidan.com-parser:~1.15.2为例, 这个库会去匹配更新到1.15.x的最新版本,如果出了一个新的版本为1.16.0,则不会自动升级.~符号是曾经npm安装时候的默认符号,现在已经变为了^符号.

3 package.json中^符号

^符号这个比~符号更灵活.npm会把当前库的版本更新到当前大版本(major version),也就是第一位数字中最新的版本以dashidan.com-writeer: "^3.1.6"为例,npm会去匹配3.x.x中最新的版本,但是他不会自动更新到4.0.0.

4 package.json种latest

latest版本即是最新版.这个好理解.npm会安装模块的最新版, 如果模块大版本改动比较大可能会有兼容性的问题. 这个模块的兼容性需要在可控范围内.还是存在一定的风险.如果是自己开发的模块,版本兼容性可控,这样就比较省心.

5 npm更新package.json中指定模块

npm升级更新指定模块

转载请保留原文链接.