npm和yarn都是js的包管理工具 yarn安装方式: npm install yarn -g yarn相较于npm主要有以下3个优点 :
yarn的速度快, Yarn 在执行包的安装时,是并行下载,同步执行所有任务。还拥有离线缓存机制,在已经安装过某个包后,无需联网即可从缓存中获取安装。版本锁定,可以避免不同开发者在安装依赖时因为版本不同所造成的bug,保证团队开发的版本的统一多注册来源处理统一,所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是 npm 要么是 bower, 防止出现混乱不一致。更好的语义化语法: yarn改变了一些npm命令的名称,比如 yarn add/remove,感觉上比 npm 原本的 install/uninstall 要更清晰。 npmyarnnpm installyarnnpm install react --saveyarn add reactnpm uninstall react --saveyarn remove reactnpm install react --save-devyarn add react --devnpm update --saveyarn upgradenpm的未来:npm5.0 有了yarn的压力之后,npm做了一些类似的改进。
默认新增了类似yarn.lock的 package-lock.json; git 依赖支持优化:这个特性在需要安装大量内部项目(例如在没有自建源的内网开发),或需要使用某些依赖的未发布版本时很有用。在这之前可能需要使用指定 commit_id 的方式来控制版本。 文件依赖优化:在之前的版本,如果将本地目录作为依赖来安装,将会把文件目录作为副本拷贝到 node_modules 中。而在 npm5 中,将改为使用创建 symlinks 的方式来实现(使用本地 tarball 包除外),而不再执行文件拷贝。这将会提升安装速度。目前yarn还不支持。