什么时候使用纱线而不是NPM?有什么不同? [英] When to use Yarn over NPM? What are the differences?

查看:21
本文介绍了什么时候使用纱线而不是NPM?有什么不同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Yarn和NPM有什么区别? 在写这个问题时,我只能在互联网上找到一些文章,说明this这样的NPM命令的Yarn等价物是什么。

它们有没有相同的功能(我知道Yarn做本地缓存,看起来你只需要下载一次包),但除此之外,从NPM迁移到Yarn还有什么好处吗?

推荐答案

更新:2018年3月(有点晚...)

从版本5开始npm

  • 生成一个名为package-lock.json的"锁定文件",该文件修复整个依赖关系树的方式与纱线锁定机制(或任何其他)锁定机制的方式非常相同。
  • 已制作工具
  • --save现在隐含npm i
  • 更好的网络和缓存使用率

npm 5.7.0 further introducednpm ci命令通过仅安装package-lock.json中找到的包(如果package-lock.jsonpackage.json不同步则报告错误),在持续集成环境中更快地安装依赖项。

个人,我仍然使用npm


原始

我不喜欢直接引用文档中的内容,但它们很好地解释了原因,非常简洁,我不知道如何进一步总结这些想法。

主要:

  1. 您总是知道您在每个开发过程中都会得到相同的东西 机器

  2. 它并行化了npm不能并行化的操作,

  3. 它可以更有效地利用网络。

  4. 还可以使use of other system resources (such as RAM)更有效率。

人们对它的生产体验是什么?谁知道呢,对普通大众来说,它还是个婴儿。

tl;drfrom Yehuda Katz

从一开始,Yarn锁定文件就保证重复运行 同一存储库上的纱线产生相同的包。

其次,Yarn试图通过冷缓存获得良好的性能,但 尤其是使用热缓存时。

最后,Yarn将安全作为核心价值。

漂亮的博客文章

"NPM vs Yarn Cheat Sheet",甘特·拉博德

稍长版本from the project

快速:纱线缓存它下载的每个包,因此永远不需要 再来一次。它还将操作并行化以最大限度地利用资源 利用率,因此安装时间比以往任何时候都快。

可靠:使用详细但简洁的锁定文件格式和 确定性算法用于安装,Yarn能够保证 在一个系统上工作的安装将以完全相同的方式在上工作 任何其他系统。

安全:纱线使用校验和来验证每个安装的 包,然后再执行其代码。

和来自the README.md

  • 脱机模式:如果您以前安装过程序包,则无需任何Internet连接即可重新安装。
  • 确定性:无论安装顺序如何,相同的依赖项将以完全相同的方式安装在每台计算机上。
  • 网络性能:Yar高效地将请求排队,避免请求瀑布,以最大化网络利用率。
  • 多个注册表:安装来自NPM或BPower的任何包,并保持包工作流相同。
  • 网络弹性:单个请求失败不会导致安装失败。请求在失败时重试。
  • 平面模式:将不匹配的依赖项版本解析为单个版本,以避免创建重复项。
  • 更多表情符号。🐈

这篇关于什么时候使用纱线而不是NPM?有什么不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆