zhongxia245 / blog

这是一个Blog, 如果喜欢可以订阅,是Watch, 不是 Star 哈。。。

Home Page:https://zhongxia245.github.io/blog/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

【20161015】Fackbook Yarn包管理器

zhongxia245 opened this issue · comments

前端 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 第三方客户端

时间:2017-03-07 15:10:57

yarn和npm常用命令的整理

一、首先需要了解的命令

区别就是, install ==> add , uninstall ==> remove , update ==> upgrade ,其他一样

npm install === yarn

npm install react --save == yarn add react 

npm uninstall react == yarn remove react

npm install react --save-dev == yarn add react --dev

npm update --save == yarn upgrade

npm install -g react == yarn global add react

二、已知悉的命令

发布,运行,测试,登录,清理缓存都是和npm一样

包和 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 

npm logout == yarn logout

npm test == yarn test

三、Yarn 独有的命令

我跳过了一些提醒我们不要使用的内容,如 yarn clean。

  • yarn licenses ls --> 允许你检查依赖的许可信息。
  • yarn licenses generate --> 自动创建依赖免责声明 license。
    yarn why taco --> 检查为什么会安装taco,详细列出依赖它的其他包(鸣谢 Olivier Combe)。
  • 速度
  • 通过 yarn lockfile 自动实现 shrinkwrap 功能
  • 以安全为中心的设计

四、Npm 独有的命令

没用过,不太清楚
npm xmas === NO EQUIVALENT
npm visnup === NO EQUIVALENT

五、总结

在写这篇文章的时候发现, yarn的run 命令似乎出了点问题,应该会在0.15.2中修复。在这一点上, npm 好多了。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

六、转载文章

  1. yarn与npm的命令行小结

设置Yarn的镜像源

# 查看下载源
yarn config get registry

# 更换为淘宝源
yarn config set registry https://registry.npm.taobao.org