新的js 包管理工具 yarn 解决了什么问题

上年10月份, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm 。由于当时还不是很成熟,所以自己便仅仅只是浅尝辄止。随着时间的推移,Yarn也越来越完善,很多人也已经慢慢在实际项目中开发者投入使用。
yarn和npm对比
1、yarn.lock 文件
在 npm 中同样可以使用 npm shrinkwrap 命令来生成一个锁文件,这样在使用 npm install 时会在读取 package.json 前先读取这个文件,就像 Yarn 会先读取yarn.lock 一样。这里的区别是 Yarn 总会自动更新 yarn.lock,而 npm 需要你重新操作。
2、并行安装
每当 npm 或 Yarn 需要安装一个包时,它会进行一系列的任务。在 npm 中这些任务是按包的顺序一个个执行,这意味着必须等待上一个包被完整安装才会进入下一个;Yarn 则并行的执行这些任务,提高了性能。
3、清晰的输出
npm 默认情况下非常冗余,例如使用 npm install 时它会递归列出所有安装的信息;而 Yarn 则一点也不冗余,当可以使用其它命令时,它适当的使用 emojis 表情来减少信息(Windows 除外)
1、安装yarn
打开命令行输入并执行下面指令安装yarn包管理工具
2、更换源地址
npm官方源虽然在国内没有被墙,但访问速度仍然不敢恭维,因此次建议使用之前切换为淘宝镜像,在yarn安装完毕之后执行如下指令:
yarn config set registry https://registry.npm.taobao.org
到此为止我们就可以在项目中像使用npm一样使用yarn了。
yarn / yarn install 等同于npm install 批量安装依赖
yarn add xxx 等同于 npm install xxx —save 安装指定包到指定位置
yarn remove xxx 等同于 npm uninstall xxx —save 卸载指定包
yarn add xxx —dev 等同于 npm install xxx —save-dev
yarn upgrade 等同于 npm update 升级全部包
yarn global add xxx 等同于 npm install xxx -g 全局安装指定包
在批量安装包文件时,yarn的安装速度远胜于npm,但是相对于老牌npm,yarn目前仍然不是很稳定,偶尔会导致包安装出现问题,大家可以根据个人情况来决定是否使用。
本文已收录于以下专栏:
相关文章推荐
Yarn是Facebook发布的一款,它比npm更快、更高效。
英文官网:/
中文网站:/zh-Hans/
超凡快速...
yarn 替换 npm
mac:brew install yarn
win:/latest.msi
linux(Ubuntu):echo &deb...
Yarn是facebook最近开源的一款javascript包管理工具。最大的特点就是速度快,可靠,安全的依赖管理。
npm install -g yarn
yarn - 快速,可靠,安全的新一代package管理器!facebook出品!
前言在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的。放大之,对vue的生命周期不甚了解。只知道简单的使用,而不知道为什么...
今天遇到了一个问题:下载了react-native-baidu-map的开源组件,可是在ios中遇到了问题,编译不通过,我想删除这个组件,然后写其他的功能,以后再添加这个地图功能,可是发现无法删除干净...
Docker 的命令行就已经很好用了,如果非要加上基于 Web 的管理界面的话也有一些选择,如 DockerUI (Angular.js), Dockland (Ruby), Shipyard (Py...
facebook推出的快速、可靠和安全依赖关系JavaScript包管理工具,完全有替代npm的势头。
.特点快速:yarn 会缓存每个已经下载了的程序包,所以它永远不需要再下载。它能使操作资源利用率...
facebook发布的新一代包管理工具,旨在解决以往使用npm作为包管理会遇到的一些问题。从其官方介绍可以看到其重点强调的3个点:快、可靠、安全。
版权声明:本文为博主原创文章,未经博主允许不得转载。
PS:转载请注明出处
作者:TigerChain
地址:/p/f05eabdf3ab6
本文出自...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)facebook推出的快速、可靠和安全依赖关系JavaScript包管理工具,完全有替代npm的势头。
快速:yarn 会缓存每个已经下载了的程序包,所以它永远不需要再下载。它能使操作资源利用率的最大化,所以多次安装比以往任何时候都更快。
可靠:使用(内容)详尽的而(方法)简洁的(方式)并使用lockfile和决定性算法来安装包,yarn 可以保证只要安装运行在一个系统上,也将以完全相同的方式运行在其他系统上。yarn 能够为参与一个项目的所有用户维持相同的节点模块(node_modules)目录结构,有助于减少难以追踪的bug和在多台机器上复制。
安全:yarn 在每一个安装包代码执行前,使用校验和的方式去验证包的完整性。
1、离线模式 Offline Mode
如果你已经安装了一个包,您可以再安装一遍(在其他地方)没有互联网连接。—相对于npm的重新在线下载方式的改进
2、确定性的 Deterministic
相同的依赖相同的方式将被安装在每台机器无论安装顺序。
3、网络性能 Network Performance
yarn 高效队列请求和避免请求瀑布为了最大化网络利用率。
4、多路注册 Multiple Registries
不管是从npm还是Bower上安装的任何包文件,都能让工作流程是一样的。意思就是,兼容npm 和bower 上面注册表,上面的包同样可以在yarn上使用,package.json
文件的配置和npm一样,经过实践可以通用。
5、网络弹性(重载能力) Network Resilience
单个请求失败不会导致安装失败。请求失败后会重试。相对npm的返回错误问题。
6、扁平化加载模式 Flat Mode
解决失配版本的依赖单一版本避免创建副本。有点像npm 3.0以上版本一下,node_moudle避免嵌套路径太深导致的相关问题。
1、官网介绍 macOS/windows/linux/Alternatives 下的
2、npm安装方式
npm install -g yarn
1、创建一个新项目,运行命令后,填写相应的信息会生成一个 package.json文件
2、添加、更新、删除 一个依赖包文件
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
yarn remove [package]
3、根据 package.json 安装所有依赖方法
yarn install
4、其他使用方法和npm基本相同,如下所示
Usage: yarn install [flags]
-h, --help
output usage information
-V, --version
output the version number
--prefer-offline
--strict-semver
--global-folder [path]
--modules-folder [path]
rather than installing modules into the node_mod
ules folder relative to the cwd, output them here
--packages-root [path]
rather than storing modules into a global packag
es root, store them here
--mutex [type][:specifier]
use a mutex to ensure only one yarn instance is
save HAR output of network traffic
--ignore-engines
ignore engines check
--ignore-scripts
--ignore-optional
only allow one version of a package
--prod, --production
--no-lockfile
don't read or generate a lockfile
--pure-lockfile
don't generate a lockfile
-g, --global
DEPRECATED
-S, --save
DEPRECATED - save package to your `dependencies`
-D, --save-dev
DEPRECATED - save package to your `devDependenci
-P, --save-peer
DEPRECATED - save package to your `peerDependenc
-O, --save-optional
DEPRECATED - save package to your `optionalDepen
-E, --save-exact
DEPRECATED
-T, --save-tilde
DEPRECATED
本文已收录于以下专栏:
相关文章推荐
yarn 命令使用版本说明 (当前文档使用版本)
yarn : 0.1
macOS 通过 homebrew 安装 brew install yarn
Windows 下载安装 下载...
Docker 的命令行就已经很好用了,如果非要加上基于 Web 的管理界面的话也有一些选择,如 DockerUI (Angular.js), Dockland (Ruby), Shipyard (Py...
facebook发布的新一代包管理工具,旨在解决以往使用npm作为包管理会遇到的一些问题。从其官方介绍可以看到其重点强调的3个点:快、可靠、安全。
环境工具当前前端的技术随着互联网化的发展,新的玩意儿层出不穷,犹如井喷一般的涌现了一大批解决不同领域问题的工具。按照前端技术的开发需求,出现了包管理、工具集、工程构件、全栈框架、MVVC框架等众多分类...
版权声明:本文为博主原创文章,未经博主允许不得转载。
PS:转载请注明出处
作者:TigerChain
地址:/p/f05eabdf3ab6
本文出自...
上年10月份, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm 。由于当时还不是很成熟,所以自己便仅仅只是浅尝辄止。随着时间的推移,Yarn也越来越完善,很多人也已...
上一篇简单介绍了NPM包管理工具
在这篇文章中
我想给大家介绍一个取代使用NPM的包管理工具——Yarn
以及它与NPM之间的差异简介这个就是yarn的logo,应该是一只猫
Yarn的官网:...
一期,我们为大家介绍了Xsolla全新帐户管理工具中的报告。今天,我们将继续为大家介绍新的功能——-分析工具。Xsolla的分析工具,为所有的合作伙伴提供四个方面的分析:不同国家的交易分析,总收入分析...
随着付费订阅模式在互联网中日益变得流行,在知乎平台、豆瓣平台、站长博客平台、微信、微博平台都已经有了收费回答、付费阅读模式了。Zoho最近推出了一款在线付费订阅管理工具——Zoho Subscript...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)后使用快捷导航没有帐号?
Facebook推出Yarn:为速度而打造的开源JavaScript包管理器
时间: 09:22
阅读数:832
摘要:Facebook刚刚推出了一款名叫Yarn的开源JavaScript包管理器,承诺比各大流行npm包的安装更可靠,且速度更快。根据你所选的工作包的不同,该公司称Yarn可以将安装时间从数分钟减少至几秒钟。Yarn还兼容nom注册表,但包 ...
Facebook刚刚推出了一款名叫Yarn的开源JavaScript包管理器,承诺比各大流行npm包的安装更可靠,且速度更快。根据你所选的工作包的不同,该公司称Yarn可以将安装时间从数分钟减少至几秒钟。Yarn还兼容nom注册表,但包安装方法有所区别。其使用了lockfiles和一个决定性安装算法,能够为参与一个项目的所有用户维持相同的节点模块(node_modules)目录结构,有助于减少难以追踪的bug和在多台机器上复制。Yarn还致力于让安装更快速可靠,支持缓存下载的每一个包和并行操作,允许在没有互联网连接的情况下安装(如果此前有安装过的话)。此外,Yarn承诺同时兼容npm和Bower工作流,让你限制安装模块的授权许可。Facebook指出,其选用了大量项目上广泛使用的npm,但在扩展内部使用时遇到了性能和安全问题。其携手来自Exponent、Google和Tilde的工程师,在大型JavaScript框架上打造和测试了Yarn,以便其尽可能适用于多人开发。npm幕后团队在一篇中指出,其欢迎Yarn加入开源npm客户端阵营。Yarn的公共包运行得挺不错,但私有包还有些问题,开发团队正在修复。Yarn是Facebook在2016年度的*新一个开源项目,它发布了一个用于打造人工智能机器人的代码库、一款更易上手的工具、React JavaScript库、一个无线访问平台(用于在连接不好的地区提供互联网接入)、甚至一套360°摄像头的配置。由于频繁为开源事业做贡献,该公司现已成为GitHub上排行第2的开源贡献组织,仅次于软件巨头。传送门:(新网站) |&(GitHub)
本文章共有0条评论yarn的使用及升级Node.js的新方法
4378次浏览
yarn的使用
yarn包管理工具,官网说是快速、可靠、安全的依赖管理,尝试了一下,入手很快,用起来也蛮方便的。大家可以尝试一下。
mac电脑上面安装如下:
brew update
brew install yarn
yarn工作流
1、创建一个新的项目
类似于npm init ,package.json的配置
2、添加依赖项
yarn add [package]
类似于npm install
3、安装依赖项
安装所有依赖:yarn 或 yarn install
安装一个包的单一版本:yarn install --flat
强制重新下载所有包:yarn install --force
只安装生产环境依赖:yarn install --production
yarn和npm的命令对照
具体可以查看:
yarn的cli命令介绍
具体可以查看:
yarn config设置镜像
我之前写过,我们也可以通过yarn的config来设置淘宝镜像,
相关命令如下:
yarn config list
yarn config set registry http://registry.npm.taobao.org/
设置淘宝镜像。
升级Node.js的新方法
yarn add webpack
的时候,提示:
error enhanced-resolve@3.1.0: The engine &node& is incompatible with this module. Expected version &&=4.3.0 &5.0.0 || &=5.10&.
error Found incompatible module
说我的nodejs版本太老了。如何在mac中轻松升级nodejs呢?方法如下:
可以使用npm或者yarn安装n工具包,步骤如下:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
这样nodejs就升级到最新稳定版了!
n 是一个Node工具包,它提供了几个升级命令参数:
显示已安装的Node版本
安装最新版本Node
安装最新稳定版Node
安装最新长期维护版(lts)Node
n &version&
根据提供的版本号安装Node
相关文章:
关键词搜索

我要回帖

 

随机推荐