什么时候使用纱线而不是NPM?有什么不同? [英] When to use Yarn over NPM? What are the differences?
本文介绍了什么时候使用纱线而不是NPM?有什么不同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
它们有没有相同的功能(我知道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.json
和package.json
不同步则报告错误),在持续集成环境中更快地安装依赖项。
个人,我仍然使用npm
。
原始
我不喜欢直接引用文档中的内容,但它们很很好地解释了原因,非常简洁,我不知道如何进一步总结这些想法。
主要:
您总是知道您在每个开发过程中都会得到相同的东西 机器
它并行化了
npm
不能并行化的操作,它可以更有效地利用网络。
人们对它的生产体验是什么?谁知道呢,对普通大众来说,它还是个婴儿。
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屋!
查看全文