(1)^指定版本:比如"^3.1.4",表示安装3.1.4及以上的版本(3.x.x),但是不安装4.0.0
(2)~指定版本:比如 "~1.1.0", 表示安装1.1.0及以上的版本(1.1.x),但是不安装1.2.x
ps:值得注意的是package-lock.json会把实际版本锁住,它会跟package.json保持一致,如果发现不一致npm才会去根据package.json来重新下载依赖包。
就是如果我们有使用自己写的依赖包,如果发了新包,我们想更新项目引用的版本,只能手动修改一下package.json的版本配置,不然不会更新依赖