TONG-H

npm && yarn 差异以及常用命令

4531OTHERyarn2019-07-012024-12-07

yarn 从去年vue-cli更新以来一直用,但一直都没认真了解过

yarn 背景介绍

安装方法 三种安装方式
Yarn 是一个包管理器,代码通过包(package) 或者模块(module)的方式来共享, 一个包里包含所有需要共享的代码,以及描述包信息的文件,称为 package.json 。

yarn npm 差异

  • 同步安装:npm 是按照队列执行每个 package,Yarn 是同步执行所有任务
  • 离线模式:Yarn可以从缓存中获取以前安装过的安装包,而npm每次都从网络下载
  • 安装版本统一:yarn.lock 文件记录了所有安装模块的版本号,这样使我们每次拉取同一个项目依赖时使用都是一样的版本号,而 npm 需要执行 npm shrinkwrap 才会生成一个锁定文件 npm-shrinkwrap.json
  • npm 输出内容多长,安装慢就算了还老是失败,相较而言 yarn 真的快多了

常用命令

更多命令 官网 CLI 命令

npm 命令|yarn 命令|命令介绍
:—-:|:—-:|:—:|:—:
npm install xxx
npm i xxx | yarn | 安装但不写入package.json
npm install –save xxx
npm i -s xxx | yarn add xxx | 安装xxx模块,并且记录到package.json字段对应的dependency
npm install –save-dev xxx
npm i -D xxx | yarn add xxx –dev | 安装xxx模块,并且记录到package.jso字段对应的dev-dependency是开发环境必须依赖的模块
npm install –global xxx
npm i -g xxx | yarn global add xxx | 全局安装xxx模块,如果模块里package.json有bin配置,会自动链接,作为cli命令
npm uninstall react –save | yarn remove taco | 安装并记录package.json中的dependency字段
npm update –save | yarn upgrade | 更新并记录package.json中的dependency字段

参考文章

官网命令
知乎文章:npm和yarn的区别,我们该如何选择?