这是我参与8月更文挑战的第24天,活动详情查看:8月更文挑战
前言
之前我是用的npm,后来公司主管推荐了一个另外的包管理工具,叫yarn,当我使用了之后,我发现,对比npm来说,yarn确实好用。 下面我总结一下它们常用的指令,以及它们的区别。
安装
yarn的安装和npm的安装都要依赖node,首先要去官网下载node ,
安装好在cmd中可以输入命令node -v, 打印出node的版本就安装成功了。
node中是集成了npm的,所以安装了node,npm也一起安装了。
对于yarn,有2种方式
第一种,你可以去这个地址下载安装包。
第二种,你可以选择通过npm install -g yarn安装
第二种方式,如果执行全局命令提示
command not found,则要把yarn的可执行目录(也就是bin目录)添加到系统变量,然后重启cmd再执行。
指令对比
下面针对一些常用的指令进行对比:
| 描述 | yarn | npm |
|---|---|---|
| 初始化package.json | yarn init (可以在后面添加-y跳过询问的信息) | npm init (可以在后面添加-y跳过询问的信息) |
| 根据package.json安装依赖 | yarn install(可以省略install) | npm install(install可以缩写成i) |
| 安装某个依赖(默认是在dependencies) | yarn add packageName --save(简写-S,或者省略该参数) | npm install packageName --save(简写-S,或者省略该参数) |
| 安装某个依赖在devDependencies | yarn add packageName --dev(可以简写成-D) | npm install packageName --save-dev(可以简写成-D) |
| 全局安装依赖 | yarn global add packageName | npm install packageName -g |
| 移除依赖 | yarn remove packageName | npm uninstall packageName |
| 移除全局依赖 | yarn global remove packageName | npm uninstall packageName -g |
| 升级依赖 | yarn upgrade packageName(如果是全局的依赖则在yarn后面加上global) | npm update packageName(如果是全局的依赖则在后面加上-g) |
| 查看依赖的信息 | yarn info packageName | npm info packageName |
| 查看所有配置 | npm config list | npm config list 或者 npm config ls -l |
| 查看某个配置的信息 | yarn config get configName | npm config get configName |
| 设置淘宝源 | yarn config set registry https://registry.npm.taobao.org | npm config set registry https://registry.npm.taobao.org |
| 查看当前源 | yarn config get registry | npm config get registry |
| 罗列全局依赖 | yarn global list --depth=0 | npm list -g --depth 0 |
| 查看全局依赖目录 | yarn global bin 或者yarn global dir | npm prefix -g |
| 查看全局缓存的目录 | yarn cache dir | npm config get cache |
区别
- yarn安装速度快,因为它是异步执行安装依赖;npm是同步执行,它需要先安装好前面的包再接着安装。
- yarn安装过程信息很干净,npm会罗列很多其它包的信息,看过去感觉不直观。
- yarn安装后是有个yarn.lock文件,这个文件是会锁定你安装的版本,别人安装时会直接读取yarn.lock文件,这样可以保证安装的依赖的版本是一样的,npm在5.x.x的版本也引入了这个机制,它的文件叫package-lock.json。
总结
以上就是我总结的yarn和npm的对比,大家可以自行选择,我是推荐yarn的,哈哈哈。
感谢你们的阅读。