yarn和npm的区别

scooby scooby     2023-04-30     253

关键词:

Yarn和npm命令对比
npm | yarn |
------ | ------|
npm install | yarn |
npm install react --save | yarn add react|
npm uninstall react --save | yarn remove react|
npm install react --save-dev | yarn add react --dev|
npm update --save | yarn upgrade|

Yarn的优点?
1.速度快 。速度快主要来自以下两个方面:
2.并行安装:无论 npm 还是 Yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 Yarn 是同步执行所有任务,提高了性能。
3.离线模式:如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了。
安装版本统一:为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件。这么做就保证了,每一次拉取同一个项目依赖时,使用的都是一样的模块版本。npm 其实也有办法实现处处使用相同版本的 packages,但需要开发者执行 npm shrinkwrap 命令。这个命令将会生成一个锁定文件,在执行 npm install 的时候,该锁定文件会先被读取,和 Yarn 读取 yarn.lock 文件一个道理。npm 和 Yarn 两者的不同之处在于,Yarn 默认会生成这样的锁定文件,而 npm 要通过 shrinkwrap 命令生成 npm-shrinkwrap.json 文件,只有当这个文件存在的时候,packages 版本信息才会被记录和更新。

npm的缺点?
1.npm install的时候巨慢。特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。
2.同一个项目,安装的时候无法保持一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。
"5.0.3",
"~5.0.3",
"^5.0.3"
“5.0.3”表示安装指定的5.0.3版本,“~5.0.3”表示安装5.0.X中最新的版本,“^5.0.3”表示安装5.X.X中最新的版本。这就麻烦了,常常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。
3.安装的时候,包会在同一时间下载和安装,中途某个时候,一个包抛出了一个错误,但是npm会继续下载和安装包。因为npm会把所有的日志输出到终端,有关错误包的错误信息就会在一大堆npm打印的警告中丢失掉,并且你甚至永远不会注意到实际发生的错误。

作者:Simbawu
链接:https://www.jianshu.com/p/254794d5e741
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

brew、yarn 和 npm 有啥区别?

】brew、yarn和npm有啥区别?【英文标题】:Whatisthedifferencebetweenbrew,yarn,andnpm?brew、yarn和npm有什么区别?【发布时间】:2017-03-1617:58:44【问题描述】:我使用的是react-native包,它是通过npm全局安装的。现在它在执行init命令后的第一... 查看详情

yarn和npm的区别

npm与yarn命令对比npmyarnnpminstallyarninstall(N/A)yarninstall--flat(N/A)yarninstall--har(N/A)yarninstall--no-lockfile(N/A)yarninstall--pure-lockfilenpminstall[package](N/A)npminstall--save[package]yarnadd[ 查看详情

yarn.lock 和 npm 的 package-lock 有啥区别?

】yarn.lock和npm的package-lock有啥区别?【英文标题】:Whatisthedifferencebetweenyarn.lockandnpm\'spackage-lock?yarn.lock和npm的package-lock有什么区别?【发布时间】:2017-12-0710:03:05【问题描述】:我不小心在一个使用Yarn的项目中运行了npminstall,... 查看详情

npm和yarn的区别

参考技术A虽然网上和知乎上有好多文章写npm和yarn的区别。并且我写的文章中借鉴他人的,但还是希望发出来,自己想看的时候,就立马可以找到。引用的文章也会在底部写出来了。yarn是由Facebook、Google、Exponent和Tilde联合推出了... 查看详情

yarn和npm的区别

Yarn和npm命令对比npm|yarn|------|------|npminstall|yarn|npminstallreact--save|yarnaddreact|npmuninstallreact--save|yarnremovereact|npminstallreact--save-dev|yarnaddreact--dev|npmupdate--save|yarnupgrade|Yarn的优点?1.速度快。速度快主要来自以下两个方面:2.并行安装:无... 查看详情

何时在 NPM 上使用 Yarn?有啥区别?

】何时在NPM上使用Yarn?有啥区别?【英文标题】:WhentouseYarnoverNPM?Whatarethedifferences?何时在NPM上使用Yarn?有什么区别?【发布时间】:2017-02-2223:31:25【问题描述】:Yarn和NPM有什么区别?在写这个问题的时候,我只能在互联网上... 查看详情

`yarn link` 和 `npm link` 有啥区别?

】`yarnlink`和`npmlink`有啥区别?【英文标题】:What\'sthedifferencebetween`yarnlink`and`npmlink`?`yarnlink`和`npmlink`有什么区别?【发布时间】:2019-01-2800:18:03【问题描述】:似乎有时npmlink在yarnlink给出奇怪错误的情况下工作。我已经注意到... 查看详情

yarn run 和 npm start 有啥区别?

】yarnrun和npmstart有啥区别?【英文标题】:Whatisthedifferencebetweenyarnrunandnpmstart?yarnrun和npmstart有什么区别?【发布时间】:2017-03-2921:24:40【问题描述】:yarnrun是否打算等同于npmstart?【问题讨论】:为了让事情更混乱,yarnstart==yarn... 查看详情

npm还是yarn?(代码片段)

...解释了npm和yarn在性能,安全,支持性和使用难易度上的区别,看完之后这个问题终于有一个答案:如果你在意速度和UI,选yarn,如果你是个保守派,选npm会更加合适。文章地址:https://stackshare.io/stackups/npm-vs-yarn性能无论是在无... 查看详情

npm和yarn使用

...装包或者模块yarn是由facebook、google等联合开发推出的 区别:npm下载包的话比如npminstall,它是按照包的排序,也就是队列挨个下载,一个下载完成后,再下载另一个yarn是将要下载的包进行同时下载,并行下载,速度快。离线... 查看详情

yarn的安装和常用命令

...并对npm的一些弊端提供了优化和解决方案  yarn和npm的区别?  安装速度更快,缓存了每个下载过的包,再次使用时无需重复下载。同时利用并行下载以最大化资源利用率,  运行代码前会校验每个安装包的完整性和统一... 查看详情

[yarn]yarn和npm的对比

...自己编写的包或命令行程序上传到NPM服务器供别人使用。Yarn是Facebook,Google,Exponent和Tilde开发的一款新的JavaSc 查看详情

yarn(代码片段)

npm和yarn的区别yarn客户端包官网地址:https://yarnpkg.com/en/docs/install#windows-stable 在win环境下使用yarn安装vue-cli 0.安装 (没装npm的时候也可以用客户端安装:https://yarnpkg.com/en/docs/install#windows-stable )npmins 查看详情

npm和yarn的淘宝镜像添加(代码片段)

npmconfigsetregistryhttps://registry.npm.taobao.orgnpmconfigsetdisturlhttps://npm.taobao.org/distnpmconfigsetelectron_mirrorhttps://npm.taobao.org/mirrors/electron/npmconfigsetsass_binary_sitehttps:// 查看详情

大话npm,cnpm和yarn

...服务器在国外,所以下载包的速度超级慢,所以出现了cnpm和yarn cnpm:跟npm是一样的,这是淘宝出的下载工具,服务器在国内,所以下载速度npm快很多;   cnpminstall包名安装cnpmnpminstall-gcnpm--registry=https://registry.npm.taobao.org yarn:有... 查看详情

查看npm和yarn的镜像源和配置淘宝镜像源(代码片段)

1、查看 #npm:npmconfiggetregistry#yarn:yarnconfiggetregistry 2、设置#(命令行)设置淘宝源#npm:npmconfigsetregistryhttps://registry.npm.taobao.org#yarnyarnconfigsetregistryhttps://registry.npm.taobao.org--gl 查看详情

(node.js) 交替安装 NPM 和 YARN

】(node.js)交替安装NPM和YARN【英文标题】:(node.js)installNPMandYARNalternately【发布时间】:2020-04-0813:40:23【问题描述】:我可以交替安装NPM和YARN吗?如果我需要包a和包b,我可以用NPM安装包a,用YARN安装包b吗?npminstallayarnaddb【问题讨... 查看详情

miniconda 安装了 yarn - 但 yarn 只有非常旧的版本 npm 和 nodejs

】miniconda安装了yarn-但yarn只有非常旧的版本npm和nodejs【英文标题】:minicondainstalledyarn-butyarnhasonlyveryoldversionsnpmandnodejs【发布时间】:2021-12-1700:14:55【问题描述】:您好,我想将miniconda用于小型FARM项目(FastApi、React和mongodb),并... 查看详情