Hello EWEN

替代NPM的包管理工具Yarn

Yarn 是一个新的包管理器,用于替代现有的 npm 客户端或者其他兼容 npm 仓库的包管理工具。Yarn 保留了现有工作流的特性,优点是更快、更安全、更可靠。

特性

  • 同时兼容 npm 与 bower 工作流,并支持两种软件仓库混合使用
  • 可以限制已安装模块的协议,并提供方法输出协议信息
  • 提供一套稳定的公有 JS API,用于记录构建工具的输出信息
  • 可读、最小化、美观的 CLI 输出信息

安装

npm install yarn -g
#最新版本直接用yarn名称,用yarnpkg 只能安装到 0.15.1版本
#npm install -g yarnpkg 

常用命令 与npm命令比较

NPM YARN 说明
npm init yarn init 初始化某个项目
npm install/link yarn install/link 默认的安装依赖操作
npm install taco --save yarn add taco 安装某个依赖,并且默认保存到package.
npm uninstall taco --save yarn remove taco 移除某个依赖项目
npm install taco --save-dev yarn add taco --dev 安装某个开发时依赖项目
npm update taco --save yarn upgrade taco 更新某个依赖项目
npm install taco --global yarn global add taco 安装某个全局依赖项目
npm publish/login/logout yarn publish/login/logout 发布/登录/登出,一系列NPM Registry操作
npm run/test yarn run/test 运行某个命令
npm ls yarn ls 列出当前安装的了所有包

注意:yarn管理器有一个很重要的文件需要注意,就是yarn.lock,这个是用来依赖的正确性,快速可靠安装的;是执行cli的时候自动生成的,在项目的根目录下,需要保留!!!!不要编辑它,这是自动生成的

npm install === yarn
#install 安装是默认行为

npm install taco --save === yarn add taco
#taco 包立即被保存到 package.json 中

npm uninstall taco --save === yarn remove taco
#在 npm 中,可以使用 npm config set save true 设置 --save 为默认行为,但这对多数开发者而言并非显而易见的。
#在 yarn 中,在package.json 中添加(add)和移除(remove)等行为是默认的

npm install taco --save-dev === yarn add taco --dev
npm update --save === yarn upgrade
#update(更新) vs upgrade(升级), 赞!
#upgrade 才是实际做的事!版本号提升时,发生的正是upgrade!

npm install taco@latest --save === yarn add taco
npm install taco --global === yarn global add taco #一如既往,请谨慎使用 global 标记。

包和 npm registry 上是一样的。大致而言,Yarn 只是一个新的安装工具,npm 结构和 registry 还是一样的。

npm init === yarn init
npm link === yarn link
npm outdated === yarn outdated
npm publish === yarn publish
npm run === yarn run
npm cache clean === yarn cache clean
npm login === yarn login (logout 同理)
npm test === yarn test

Yarn 独有的命令

yarn licenses ls —— 允许你检查依赖的许可信息。
yarn licenses generate —— 自动创建依赖免责声明 license。
yarn why taco —— 检查为什么会安装 taco,详细列出依赖它的其他包(鸣谢 Olivier Combe)。