美文网首页
yarn和npm 的区别

yarn和npm 的区别

作者: 何蒙其实很好 | 来源:发表于2019-07-05 11:46 被阅读0次

Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 — Yarn,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的:* npm 安装包(packages)的速度不够快,拉取的 packages 可能版本不同

*  npm 允许在安装 packages 时执行代码,这就埋下了安全隐患

Yarn 没想要完全替代 npm,它只是一个新的 CLI 工具,拉取的 packages 依然来自 npm 仓库。仓库本身不会变,所以获取或者发布模块的时候和原来一样。

并行安装

无论 npm 还是 Yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 成功安装之后,才能继续后面的安装。而 Yarn 是同步执行所有任务,提高了性能。

yarn.lock

为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件。这么做就保证了,每一次拉取同一个项目依赖时,使用的都是一样的模块版本。

npm 其实也有办法实现处处使用相同版本的 packages,但需要开发者执行 npm shrinkwrap 命令。这个命令将会生成一个锁定文件,在执行 npm install 的时候,该锁定文件会先被读取,和 Yarn 读取 yarn.lock 文件一个道理。npm 和 Yarn 两者的不同之处在于,Yarn 默认会生成这样的锁定文件,而 npm 要通过 shrinkwrap 命令生成 npm-shrinkwrap.json 文件,只有当这个文件存在的时候,packages 版本信息才会被记录和更新。

常用yarn 命令:

yarn add

yarn bin

yarn ls

yarn remove

yarn why

yarn license

yarn upgrade

ref:

https://juejin.im/entry/5821f387570c350060c115cd

另,免费JS书:https://www.sitepoint.com/premium/books/javascript-best-practice/read

相关文章

  • npm 和 yarn区别

  • yarn 和 npm 的区别

    包管理工具的安装: yarn的安装: 下载软件,傻瓜式安装。 注(PS): 用npm进行安装yarn会报错,不能使...

  • yarn和npm 的区别

    Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 — Yar...

  • yarn 和 npm 的区别

    包管理工具的安装:yarn的安装:下载软件,傻瓜式安装。注(PS):用npm进行安装yarn会报错,不能使用 np...

  • npm和yarn的区别

    npm和yarn都是包管理工具,都可以安装包和模块,大家都应该用过这两个包管理工具,用npm后会生成一个packa...

  • yarn和npm的区别

    熟悉一个新项目一般都是如下步骤: yarn是什么? yarn是由Facebook、Google、Exponent ...

  • npm 和 yarn 的区别

    引言 虽然网上和知乎上有好多文章写 npm 和 yarn[https://so.csdn.net/so/searc...

  • 初始yarn、yarn和Npm的区别

    yarn英文官网[https://yarnpkg.com/] yarn是软件包管理器,允许世界上所有开发人员一起使...

  • npm、yarn、cnpm

    1. npm 2. cnpm 3. yarn 4. npm与yarn使用命令的区别 npmyarn安装依赖...

  • npm、yarn切换源、加代理

    npm和yarn转换淘宝源和官方源 npm 设置代理 npm 删除代理 yarn 设置代理 yarn 删除代理

网友评论

      本文标题:yarn和npm 的区别

      本文链接:https://www.haomeiwen.com/subject/zpmshctx.html