当主版本号/次版本号/修订版本号为 X or x or * 时,那么 update 或 install 是会下载该分支最新的版本号;
星号 *
跟新或安装模块时会安装>=0.0.0的最新版本
1.x 更新版本范围为 >=1.0.0&&< 2.0.0 ;
1.2.x 更新版本范围为 >=1.2.0&&< 1.3.0 ;
更多
1.可以把项目依赖的包固定在某一个版本,强制大家安装相同的依赖树
npm install react --save -E上面命令会将 react 的版本号进行固定,但是该方式只能控制项目中直接依赖的包的版本,无法控制项目模块中依赖的包的版本号,所以这种方式也无法让不同的使用者得到相同的依赖树。
2.使用 npm shrinkwrap ,可以将项目中的模块版本进行精确锁定 运行命令 npm shrinkwrap ,会产生一个 npm-shrinkwrap.json 文件,这个文件保存了所有当前使用的依赖模块的版本。把该文件提交到 git 仓库中,这样其他人在 clone 你的项目的时候,执行 npm install 命令时,npm 检测到该文件中的信息会完整的还原出完全相同的依赖树。
npm install --save-dev react // 安装react
npm prune // 清除未被使用的模块
npm shrinkwrap注:这种方式,安装一个模块包的方式显得有些比较繁琐
3.使用 yarn 可以得到模块包精确控制的结果 yarn 是一个与 npm 兼容的 node 包管理器,使用它安装 npm 包,会自动在项目目录创建一个yarn.lock 文件,该文件包含了当前项目中所安装的依赖包的版本信息,其他人在使用 yarn 安装项目的依赖包时就可以通过该文件创建一个完全相同的依赖环境。
yarn init //使用yarn创建一个项目
yarn add <package> //使用yarn 安装一个包此外,yarn 除了可以自动帮我们锁定依赖包的版本,yarn 还在本地缓存已经安装过的包,当再次安装时,直接从本地读取即可。安装速度得到大大提升。但 yarn 的使用需要整个团队都去使用,还是有一定的成本的。









