nodejs Yarn替代npm的包管理——快速、安全、可靠性高的依赖管理
Yarn能帮你解决的五件事
长话短说(TL;DR):在 JavaScript 领域有多个包管理器,举几个来说: npm , bower , component 和 volo 。 截至写本文,最流行的 JavaScript 包管理器是 npm。npm 客户端可以访问 npm 源里成千上万的代码库。只是最近,Facebook 推出了新的 JavaScript 包管理器 Yarn , 号称是更快,更可靠,比现有的 npm 客户端更安全。 在这篇文章,你将学习到你能用 Yarn 做的五件事情。
Yarn是 Facebook 推出的新的 JavaScript 包管理器。 她为开发者使用 JavaScript 开发应用提供了快速、安全、可靠性高的依赖管理。你可以用 Yarn 处理这五件事。
1. 离线工作
Yarn 为你提供离线工作的能力。如果你之前安装过一个包,你可以在没有网络连接的情况下,再次安装。下面展示一个典型的例子:
当我联网的时候,我用Yarn安装了两个包,如下:
用 Yarn 初始化 package.json 文件
用 Yarn 安装 express 和 jsonwebtoken 包
安装完成
安装完成后, 我在我的项目里删除了 _node modules 文件夹,并且断开了网络连接。我运行 Yarn ,如下:
Yarn 离线安装包
就这样! 所有的包不到两秒钟的时间内再次安装完。 显然,下载的时候 Yarn 缓存了所有的包以至于不需要再次从网络下载。 她通过并行操作最大限度地提高资源利用率,以至于再次下载的时候安装时间比之前更快。
2. 从多个源安装
Yarn 为你提供从多个源下载 JavaScript 包的能力。例如 npm , bower ,你的 git 源, 甚至是你本地的文件系统。
对于你需要的包,Yarn 默认扫描 npm 源,命令如下:
yarn add <pkg-name>
从远程 gzip 压缩文件安装一个包,命令如下:
yarn add <https://thatproject.code/package.tgz>
从本地文件系统安装一个包,命令如下:
yarn add file:/path/to/local/folder
对于持续发布 JavaScript 包的开发者,这是特别有用的。你可以通过这个功能,在发布包之前测试你的包。
从远程 git 源安装一个包,像这样:
yarn add <git remote-url>
Yarn 从 Github 源安装
Yarn 检测到在 bower 源存在 Github Rep 并且添加到文件里,像这样
nodejs Yarn替代npm的包管理——快速、安全、可靠性高的依赖管理的更多相关文章
- 用yarn替代npm
最近,从npm拉取vue-cli总失败,后来干脆直接用yarn 全局安装yarn(官网首推用系统包安装,更加安全) npm i yarn -g 用yarn添加全局vue-cli yarn global ...
- Yarn vs npm: 你需要知道的一切
Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具.就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm ...
- Yarn vs npm: 你需要知道的一切(转)
英文原文:https://www.sitepoint.com/yarn-vs-npm/ 译文:http://web.jobbole.com/88459/ Yarn 是 Facebook, Google ...
- 像 npm 一样在 Andriod 项目中引入 Gradle 依赖
一.前言 作为 Android 开发人员,有没有羡慕过 node.js 的导入三方库的方式,node.js 社区为开发者准备了一个快速可靠的依赖管理库.这样的依赖管理库,让 node.js 导入依赖库 ...
- Spring mvc 4系列教程(二)——依赖管理(Dependency Management)和命名规范(Naming Conventions)
依赖管理(Dependency Management)和命名规范(Naming Conventions) 依赖管理和依赖注入(dependency injection)是有区别的.为了将Spring的 ...
- Go依赖管理及Go module使用
Go语言的依赖管理随着版本的更迭正逐渐完善起来. 依赖管理 为什么需要依赖管理 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面.这就导致了同一个库只能保存一个版本的代码.如果不同 ...
- 实用maven笔记二-信息&依赖管理
目前我经历的公司的主要项目管理工具都是maven,maven除了是一个实用的构建工具外,也是一个功能强大的项目管理工具.其管理功能分为信息管理和依赖管理.通过pom.xml文件实现. 信息管理 信息管 ...
- Gradle系列教程之依赖管理(转)
转自Lippi-浮生志 :http://ezlippi.com/blog/2015/05/gradle-dependency-management.html 这一章我将介绍Gradle对依赖管理的强大 ...
- Gradle实战教程之依赖管理
这是从我个人网站中复制过来的,原文地址:http://coolshell.info/blog/2015/05/gradle-dependency-management.html,转载请注明出处. 简要 ...
随机推荐
- 剑指offer---圆圈中最后剩下的数
题目:圆圈中最后剩下的数 要求:0,1,2...n-1 共n个数排成一个圆圈,从数字0开始,每次删除第m个元素,求这个圆圈里面剩下的最后一个元素 如 n=5, m=3 的情况:0, 1, 2, 3, ...
- 手机端--tap PC端--click
区别: tap为jq mobile 的方法 1.click与tap都会触发点击事件,但是在手机web端,click会有200-300ms的延迟,所以一般用tap代替click作为点击事件.single ...
- 创建和获取cookie
创建和获取cookie 制作人:全心全意 cookie:在互联网中,cookie是小段的文本信息,在网络服务器上生成,并发送给浏览器.通过使用cookie可以标识用户身份,记录用户名和密码,跟踪重复用 ...
- INT32 System_UserKeyFilter(NVTEVT evt, UINT32 paramNum, UINT32 *paramArray)
INT32 System_UserKeyFilter(NVTEVT evt, UINT32 paramNum, UINT32 *paramArray){ UINT32 key = evt; if ...
- nyoj 63 小猴子下落
小猴子下落 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 有一颗二叉树,最大深度为D,且所有叶子的深度都相同.所有结点从左到右从上到下的编号为1,2,3,····· ...
- CF899F. Letters Removing
给一个字符串支持以下操作:区间删除某个特定字符.最后输出字符串.n,m<=200000. 这题我居然不会可以回家了.. 首先,单点删除,选个平衡树比如set. 然后,他给的下标是会随删除操作变化 ...
- codevs3730 无线网络发射选址
题目描述 Description 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129条东西向街道和129条南北向街道所形 ...
- C. Painting Fence 分治
memory limit per test 512 megabytes input standard input output standard output Bizon the Champion i ...
- Mysql优化和执行计划
SQL优化准则 禁用select * 使用select count(*) 统计行数 尽量少运算 尽量避免全表扫描,如果可以,在过滤列建立索引 尽量避免在where子句对字段进行null判断 尽量避免在 ...
- Redis3.0集群方案分析
在Redis3.0集群出来之前,大家都对作者antirez寄予厚望,因为Redis从来没有让我们失望过.现在Redis3.0集群出来了,网上出了很多评论文章,都说他的功能多么强大,包括下面这张图是彻底 ...