虽然网上和知乎上有好多文章写 npm 和 yarn 的区别。并且我写的文章中借鉴他人的,但还是希望发出来,自己想看的时候,就立马可以找到。引用的文章也会在底部写出来了。
yarn 是由 Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,yarn 是为了弥补 npm 的一些缺陷而出现的。
npm install 下载速度慢,重新 install 时速度依旧慢
同一个项目,安装的无法保持一致性。原因是因为 package.json 文件中版本号的特点导致的,下面三个版本号在安装的时候代表不同的含义。
"5.0.3" # 表示安装指定的5.0.3版本
"~5.0.3" # 表示安装5.0.X中最新的版本
"^5.0.3" # 表示安装5.X.X中最新的版本
1. 速度快:(主要来自一下两个方面)
并行安装
无论 npm 还是 yarn 在安装包的时候,都会执行一系列任务。 npm 是按照队列执行每个 package,所以 npm 是串行的。
而 yarn 是并行的,它同步执行所有任务,性能得到了极大的提升。
离线模式
如果使用 yarn 已经安装过一个软件包,再次安装时 yarn 会在之前的缓存中获取,而不会像 npm 再次从网络中下载。
2. 安装版本统一
4. 多注册来源处理
5. 语义化进行了修改
1.查看版本
yarn --version
npm -version(或者 node -v)
2.安装淘宝镜像
yarn config set registry 'https://registry.npm.taobao.org'
npm install -g cnpm --registry=http://registry.npm.taobao.org
3.初始化某个项目
yarn init
npm init
4.默认安装项目依赖
yarn install
cnpm install
5.安装依赖,并且默认保存到 package
yarn add xxx
cnpm install xxx --save
6.卸载依赖
yarn remove xxx
cnpm uninstall xxx --save
7.更新依赖
yarn upgrade xxx
cnpm update xxx --save
8.安装全局项目依赖
yarn global add xxx
cnpm install xxx -g
9.安装特定版本号的项目依赖
yarn add xxx@
cnpm install xxx@1.2.33 --save
10.发布/登录/登出,一系列NPM Registry操作
yarn publish/login/logout
npm publish/login/logout
11.运行命令
yarn run/test
npm run/test