依赖的规则中,还有 ~、>、<、=、>=、<=、-、||、x、X、* 等符号。
当执行 npm install xxx -S 来安装三方包时,npm 会首先安装包的最新版本,然后将包名及版本号写入到 package.json 文件中。被安装的依赖的版本号前会默认加上 ^ 符号。
比如,通过 npm 安装 vue 时:
json{
"dependencies": {
"vue": "^2.5.2"
}
}
^:表示同一主版本号中,不小于指定版本号的版本号
^2.2.1
对应主版本号为 2,不小于 2.2.1
的版本号,比如 2.2.1
、2.2.2
、2.3.0
,主版本号固定
// 当该依赖有最新版本时(eg:2.3.3),npm install 会安装最新的依赖
~:表示同一主版本号和次版本号中,不小于指定版本号的版本号
~2.2.1
对应主版本号为 2,次版本号为 2,不小于 2.2.1
的版本号,比如 2.2.1、2.2.2
,主版本号和次版本号固定
、<、=、>=、<=、-:用来指定一个版本号范围
>2.1
1.0.0 - 1.2.0
// 注意使用-
的时候,必须两边都有空格。
||:表示或
^2 <2.2 ||> 2.3
x、X、*:表示通配符
*
对应所有版本号
3.x
对应所有主版本号为 3 的版本号
{
“require”: {
“silex/silex”: “1.0.*@dev”,
“symfony/event-dispatcher”: “@stable”,
“symfony/http-foundation”: “@rc”,
“symfony/http-kernel”: “@alpha”,
“symfony/routing”: “@bate”
}
minimum-stability: stable,
}