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,转载请注明出处. 简要 ...
随机推荐
- Vue.js 是什么
Vue.js 是什么 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.Vue 采用自底向上增量开发的设计. Vue 的核心库只关注视图层. 单页应用:Vue ...
- ThinkPHP---TP功能类之验证码
[一]验证码 验证码全称:captcha(全自动识别机器与人类的图灵测试),简单理解就是区分当前操作是人执行的还是机器执行的 常见验证码分3种:页面上图片形式.短信验证码(邮箱验证可以归类到短信验证码 ...
- 牛客多校Round 5
Solved:3 rank:195 F. take 官方题解:小 A 在打开第 i 个箱子后会交换手中的钻石和第 i 个箱子中的钻石 当且仅当第 i个箱子的钻石是前 i 个箱子打开后出现的所有钻石里最 ...
- 3D赛瓦号——整装待发!
随着岁末将至,twaver开发团队依旧马不停蹄,3d产品功能持续更新,新特效和功能目不暇接.现在,我们就利用一些新功能,制作一个全新“赛瓦号”飞船,大家看一下仿真程度是否有质的不同? 网页3d技术正在 ...
- 如何同步iframe与嵌入内容的高度
最近频繁的做一些通过iframe在a页面嵌入b页面需求.总结下来,有以下问题需要解决 1.如何同步iframe与嵌入内容的高度 2.将b页面载入到a页面后,如何隐藏掉b页面上的元素,如左导航,顶部导航 ...
- C++ Primer(第4版)-学习笔记-第3部分:类和数据抽象
第12章 类 每个类可以没有成员,也可以定义多个成员,成员可以是数据.函数或类型别名. 成员函数必须在类内部声明,可以在类内部定义,也可以在类外部定义.如果在类内部定义,就默认是内联函数. ...
- db2 group by的疑惑。
按借据号分组,显示每组的条数:
- buf.write()
buf.write(string[, offset[, length]][, encoding]) string {String} 需要被写入到 Buffer 的字节 offset {Number} ...
- Intellij IDEA神器居然还有这些小技巧---超级好用的
Intellij IDEA神器居然还有这些小技巧----https://my.oschina.net/samgege/blog/1808622?p=8
- [luoguP1901] 发射站(单调栈)
传送门 呵呵 ——代码 #include <cstdio> #include <iostream> #define N 1000010 #define LL long long ...