引言

NodeJS 默认的包管理工具为 NPM ,在开发期间出现如下问题:

  • 每个项目从 SVN checkout 后开发需要重复下载依赖包;
  • 下载依赖包过程中网络请求容易发生异常(即使能正常访问的网站也会异常,如github);

Yarn 对标,这些问题似乎都得到了解决:

  • Yarn 离线模式,缓存了每个下载过的包,所以再次使用时无需重复下载;
  • Yarn 对网络请求过程优化,可以减少错误发生(使用过程);

Yarn 的其他特点:

  • 在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
  • 使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。
  • 利用并行下载以最大化资源利用率,因此安装速度更快。

从 NPM 迁移到 Yarn

使用与 NPM 一样的 package.json ,在根目录下运行如下命令:

yarn

运行后会在项目根目录生成 yarn.lock 文件,与npm生成 package-lock.json 类似。

常用命令:

yarn add: 安装包依赖,如 `yarn add package-name@1.2.3`;
yarn install: 安装`package.json`中所有的依赖;
yarn remove: 移除不使用的包;

NPM 与 Yarn 命令比对

npm (v5)Yarn
npm installyarn install
npm install [package] --saveyarn add [package]
npm install [package] --save-devarn add [package] --dev
npm install [package] --globalyarn global add [package]
npm update --globalyarn global upgrade
npm uninstall [package]yarn remove [package]
npm cache cleanyarn cache clean [package]

参考

@date 20200427
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐