【包管理】【新】前端包管理器 Yarn

前端 Yarn 包管理器

时间:2016-10-15 12:48:54
作者:zhongxia

也就两三天没有关注前端新技术,FaceBook 就开源了一个新的包管理器,叫做Yarn。 (搞不懂为什么叫这个名字,和大数据的yarn 重名了)

Yarn 开源后,(10.12~10.15 3天)没有多少天就已经有了 13817 star 了。 看来还是很火爆的。


一、Yarn 干嘛的?

yarn 是一个包管理器, 和npm的作用是一样的,但是解决了一些npm的痛点。

在还没包管理器的时候,JS工程师常常依赖于存储在他们项目中或者放在CDN上面的少量代码段。第一个主要的JS包管理器 npm 在Node.js被引用后不久就搭建起来了,并且迅速成为世界上最受欢迎的包管理器之一。上千个新的开源项目被建立了,工程师们也比以往分享了更多的代码。

二、Npm 的痛点

  • npm安装依赖包速度慢,(用 国内镜像 cnpm 会快很多)
  • 没有网络的时候,不能使用
  • 其他未知

那 yarn 解决了上面这些问题了吗?

  • yarn 下载速度比 npm 快 3~6倍
  • 支持离线下载,下载过的依赖包,会被缓存起来。 下载没有网络的时候也可用
  • 安装依赖包的时候,增加了checksums 做了一个安全验证(不太了解具体作用

小改进

  • 增加下载依赖包的时间
  • 安装依赖报错,提示哪个包中的那个包 报错了【npm 只告诉一个名字,不好找错误】

三、Yarn 的安装与使用

1. 安装

如果有了npm, 那么安装很简单【有安装nodejs,就会有npm, 所以目前直接使用 npm 安装问题不大】

//使用 npm 来安装
npm install -g yarn 

//如果显示了yarn 版本,代表安装成功
yarn --version

2. 初始化

//和 npm init 使用一样
yarn init 

3. 安装,更新,移除依赖包

yarn add jquery

yarn add jquery@1.11

yarn upgrade jquery 

yarn remove jquery

测试了 --save --save-dev 会报错, 已经已经没有了这两个参数


4. 离线安装

如果之前下载过了,则会缓存起来,缓存起来的可以使用离线安装

yarn add jquery --offline

5. 其他命令

//查看安装的依赖包
yarn ls   

//告诉你,为什么一个依赖被安装到项目中
//yarn why [name] 

四、yarn.lock

yarn.lock 是使用 yarn 安装依赖的时候,自动生成的文件,不要去编辑它。

这个是用来依赖的正确性,快速可靠安装的;是执行cli的时候自动生成的,在项目的根目录下,需要保留!!!!不要编辑它,这是自动生成的

在其他电脑初始化,必须记得把package.json和yarn.lock复制过去,简直就是秒下载【缓存机制】

参考

  1. Yarn:一个新的JavaScript包管理器
  2. yarn - 一个可能取代npm的新型包管理器[Facebook出品,附带中文使用教程]
  3. yarn, 不是又一个 npm 第三方客户端
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容