npm和yarn对比
npm5.0的特点:
- 默认新增了类似yarn.lock的 package-lock.json;
- git 依赖支持优化:
- 这个特性在需要安装大量内部项目(例如在没有自建源的内网开发),或需要使用某些依赖的未发布版本时很有用。在这之前可能需要使用指定 commit_id 的方式来控制版本。
- 文件依赖优化:
- 在之前的版本,如果将本地目录作为依赖来安装,将会把文件目录作为副本拷贝到 node_modules 中。而在 npm5 中,将改为使用创建 symlinks 的方式来实现(使用本地 tarball 包除外),而不再执行文件拷贝。这将会提升安装速度。目前yarn还不支持。
yarn的特点:
- 速度超快
- yarn缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载以最大化资源利用率,因此安装速度更快
- 超级安全
- 在执行代码之前,yarn会通过算法校验每个安装包的完整性
- 超级可靠
- 使用详细、简洁的锁文件格式和明确的安装算法,yarn能够保证在不同系统上无差异的工作
对比总结:在npm5.0之前,yarn的优势特别明显,在npm5.0之后,npm在速度和使用上确实有了很大提升,值得尝试,但还是没有超过yarn。所以,如果在个人项目建议使用yarn。如果是身处使用n