之前我一直都喜欢用node自带的npm进行包管理,但最近项目构建采用了yarn,试用了一段时间的yarn之后,感觉下载安装包过程的稳定性、下载速度都要优于npm,而且语义也很简洁,很容易上手。
用npm安装有时候因为国内网络的原因会发生安装失败,这个时候我通常会删除整个node_modules,然后重新下载,这还算省事的。我也遇到过,安装出错,但是安装错误的包被缓存了下来,安装好后,执行打包任务的时候会报错,这时候我会把所有缓存的安装包删除掉,然后再重装包,可以说,遇到这种问题,很让人头痛。
我用之前npm安装出错过的项目,用yarn测试yarn install
,给我的感觉是一是安装速度很快,二是安装过程没有任何报错,而同样我用npm install
,安装就会失败。
平常用npm,出于安装的安全性考虑,我通常会带上
--registry=https://registry.npm.taobao.org
而用yarn,我都是直接yarn add xxx
,到目前为止还没遇到安装失败的状况。鉴于以上我切身的体会,我开始放弃npm,用yarn做包管理工具。
yarn、npm命令简单比较
npm | yarn | 说明 |
---|---|---|
npm init | yarn init | 初始化某个项目 |
npm install/link | yarn install/link | 默认的安装依赖操作 |
npm install koa --save | yarn add koa | 安装某个依赖,并且默认保存到package |
npm uninstall koa --save | yarn remove koa | 移除某个依赖项目 |
npm install koa --save-dev | yarn add koa --dev | 安装某个开发时依赖项目 |
npm update koa --save | yarn upgrade koa | 更新某个依赖项目 |
npm install koa --global | yarn global add koa | 安装某个全局依赖项目 |
npm publish/login/logout | yarn publish/login/logout | 发布/登录/登出,一系列NPM Registry操作 |
npm run/test | yarn run/test | 运行某个命令 |