Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【20161015】Fackbook Yarn包管理器 #34

Closed
zhongxia245 opened this issue Oct 15, 2016 · 2 comments
Closed

【20161015】Fackbook Yarn包管理器 #34

zhongxia245 opened this issue Oct 15, 2016 · 2 comments

Comments

@zhongxia245
Copy link
Owner

zhongxia245 commented Oct 15, 2016

前端 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 第三方客户端
@zhongxia245
Copy link
Owner Author

时间: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的命令行小结

@zhongxia245
Copy link
Owner Author

设置Yarn的镜像源

# 查看下载源
yarn config get registry

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant