首先,这两个都属于js包管理工具,都可以安装包或者模块
yarn 是由facebook、google等联合开发推出的
区别:
-
yarn速度快,主要来自以下两个方面:
- npm 下载包的话 比如npm install
它是按照包的排序,也就是队列挨个下载,一个下载完成后,再下载另一个
yarn是将要下载的包进行同时下载 - 离线模式:如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了。
- npm 下载包的话 比如npm install
- yarn 在下载模块或包时,命令行输出的信息更加简洁
- npm版本5.0 之后,会自带package.lock.json 文件,该文件主要描述了你项目中安装的包都是哪一个版本,你再进行npm install 的话,会安装指定版本的包。
yarn 一直都有lock 文件,功能和npm 的package.lock.json差不多。 - 命令不同
常用命令:
初始化新项目
- npm init
- yarn init
默认安装
- npm install
- yarn install
安装某个依赖,并且默认保存到package.json
- npm install express —save
- yarn add express
移除某个依赖项目 (例如express)
- npm uninstall express —save
- yarn remove express
安装某个开发时依赖项目 (例如express)
- npm install express —save-dev
- yarn add express —dev
更新某个依赖项目 (例如express)
- npm update express —save
- yarn upgrade express
安装某个全局依赖项目 (例如webpack)
- npm install webpack -g
- yarn global add webpack
运行某个命令
- npm run 命令名称
- yarn run 命令名称
window安装
npm install yarn -g
npm install npm -g
总结
在npm5.0之前,yarn的优势特别明显。但是在npm之后,通过以上一系列对比,我们可以看到 npm5 在速度和使用上确实有了很大提升,值得尝试,不过还没有超过yarn。
综上我个人的建议是如果你已经在个人项目上使用 yarn,并且没有遇到更多问题,目前完全可以继续使用。但如果有兼容 npm 的场景,或者身处在使用 npm,cnpm,tnpm 的团队,以及还没有切到 yarn 的项目,那现在就可以试一试 npm5 了。
网友评论