DevOps入门(二)包管理工具yarn与npm对比

参考:

一、yarn

FaceBook 开源了 yarn 这个新的 JavaScript 包管理工具,这个和 Exponent, Google, 以及 Tilde 合作完成的项目。 yarn被称为是npm的升级,开发的目的主要是为了解决npm的痛点,实际上在一般使用中两者可以混用,除非发现npm的缺陷无法忍受时。

yarn的亮点:

  1. 极致的快速:会缓存已经下载过的包,避免重复下载,这特性比npm好多了,不用每次都请求下载 
  2. 离线模式:    之前下载过的包,可以离线再次安装
  3. 安全:           下载前会检查签名及包的完整性
  4. 可靠可确定性 
  5. 保证各平台依赖的一致性: yarn.lock存储这你的每个包的确切依赖版本,能确保从本地开发到生产环境的所有机器上都有精确相同的依赖版本。
  6. 网络优化:   力求网络资源最大利用化,让资源下载完美队列执行,避免大量的无用请求,下载失败会自动重新请求,避免整个安装过程失败
  7. 扁平化模式:对于不匹配的依赖版本的包创立一个独立的包,避免创建重复的。
yarn的安装:
Mac下yarn的安装可以使用终端url的方式:
curl -o- -L https://yarnpkg.com/install.sh | bash


二、yarn的使用

2.1 yarn初始化

yarn的初始化如下:

yarn init #初始化package.json – 和npm一致 
DevOps入门(二)包管理工具yarn与npm对比_第1张图片
DevOps入门(二)包管理工具yarn与npm对比_第2张图片

name : 项目名
version : 版本号
description : 项目描述
entry point : 入口文件
git repository: git项目链接地址
author : 作者
license : 协议

2.2 添加依赖

yarn与npm相同的地方在于,当package.json中定义的模块被第二次安装且安装的版本号不同时会产生一个package-lock.json文件(yarn生成的文件名为yarn.lock),用于保持第一次的版本号状态,而yarn和npm不同的地方在于,yarn每次安装后都把package.json和yarn.lock更新至最新,npm则不修改lock文件。

yarn add [package] — 添加包,会自动安装最新版本,注意会覆盖指定版本号!!!
yarn add [package]@[version] — 带版本号安装
yarn upgarde  -会遍历所有依赖,然后全部更新至最新版本
yarn remove [package] — 移除某个包
yarn -安装所有依赖
yarn install  -安装所有依赖
yarn add --dev 添加到 devDependencies
yarn add --peer 添加到 peerDependencies
yarn add --optional 添加到 optionalDependencies












你可能感兴趣的:(编程工具)