摘要:仅仅一夜,却也是无数个日夜,开源了这个新的包管理工具,这个和以及合作完成的项目。有两种安装模式,一种是下载脚本执行,一种下载压缩包解压。。。这货以后有取代的倾向。。。
yarn
仅仅一夜,却也是无数个日夜,FaceBook 开源了 yarn 这个新的 JavaScript 包管理工具,
这个和 Exponent, Google, 以及 Tilde 合作完成的项目。
官网 | Github Repo
yarn出现的缘由 — 解决npm历史遗留的痛点
亮点
极致的快速—会缓存已经下载过的包,避免重复下载~~~这特性比npm好多了,不用每次都请求下载
离线模式 — 之前下载过的包,可以离线再次安装
安全 — 下载前会检查签名及包的完整性
可靠可确定性
保证各平台依赖的一致性
网络优化 — 力求网络资源最大利用化,让资源下载完美队列执行,避免大量的无用请求,下载失败会自动重新请求,避免整个安装过程失败
扁平化模式 — 对于不匹配的依赖版本的包创立一个独立的包,避免创建重复的。
下载安装 — 支持多平台
因为他们的下载包基本都是放在Amazon上的,版本什么也会随时更新,我就不给出多带带版本的下载链接了;
可以自行到下载页面下载,此处只是给出教程 —— 下载传送门
注意:命令行模式基本三平台一样
window — 一直下一步下一步,现在安装目录什么的,然后打开cmd输入yarn --version就能看到版本号。。如图
提供的.msi后缀格式的安装包,前提需要依赖nodejs(也就是说需要先安装nodejs)
这里写图片描述
Linux — 提供了debian家族的apt-get包管理器安装的还有rhel家族的yum管理器安装的
这里就不点缀了,也是在终端执行,,非常简单。。。
MacOS – 有两种安装模式,一种是下载脚本执行,一种下载压缩包解压。。。后者跟Linux下载编译包一个道理,这里还不需要编码,解压即可使用
在终端执行curl -o- -L https://yarnpkg.com/install.sh | bash ,下载脚本并且执行
同样在终端执行
cd /opt #注释请忽略,这个是切换到目录 wget https://yarnpkg.com/latest.tar.gz #用wget下载tar.gz包 tar zvxf yarn-*.tar.gz #解压包 # Yarn is now in /opt/yarn-[version]/
小科普: MacOS有BSD的血统,Linux类UNIX,两者都是类UNIX。。。所以会Linux的小伙伴搞MacOS感觉都差不多,都能速度上手,大同小异滴
使用教程
跟npm的用法非常类似,且待我细细到来~
三步走
项目下初始化 - 切到你的项目下,执行yarn init,会在根目录下生成一个package.json
添加依赖安装
开工
命令解释
yarn init #初始化package.json – 和npm一致 这里写图片描述 name : 项目名 version : 版本号 description : 项目描述 entry point : 入口文件 git repository: git项目链接地址 author : 作者 license : 协议 { "name": "yarn-demo", "version": "1.0.0", "description": "This is yarn-demo.", "main": "index.js", "repository": { "url": "....", "type": "git" }, "author": "LinQunHe(CRPER)", "license": "MIT", "dependencies": { "jquery": "2.1.4" } }
添加依赖
yarn add [package] — 添加包,会自动安装最新版本,注意会覆盖指定版本号!!!
这里写图片描述
yarn add [package]@[version] — 带版本号安装
这里写图片描述
yarn add [package]@[tag] — tag,是指代git上的推送的tag【no release!!】,看图
这里写图片描述
更新依赖
tips: 估计管理器还有些不完善,不能多带带升级某个依赖。会提示error This command doesn’t require any arguments. — 意思就是该命令不需要任何参数【不带参数】
yarn upgrade [package] — 更新某个包 yarn upgrade [package]@[version] — 指定更新到某个版本 yarn upgrade [package]@[tag] — 指定更新版本到某个标签
以上不能使用, 唯一能用的是在项目下执行,yarn upgarde, 会遍历所有依赖,然后全部更新
这里写图片描述
移除依赖
yarn remove [package] — 移除某个包
这里写图片描述
在其他项目启动项目
类似npm,执行npm install;
yarn管理器支持两种安装所有依赖的命令:yarn 或者 yarn install
当然,还有一些其他不常用的命令,比如发布什么的,,具体可以看这里 —- 传送门
总结
yarn管理器有一个很重要的文件需要注意,就是yarn.lock,这个是用来依赖的正确性,快速可靠安装的;是执行cli的时候自动生成的,在项目的根目录下,需要保留!!!!不要编辑它,这是自动生成的
在其他电脑初始化,必须记得把package.json和yarn.lock复制过去,简直就是秒下载【缓存机制】,如图;
这里写图片描述
据说npm的开发者也参与了yarn的开发。。。这货以后有取代npm的倾向。。。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/80683.html
摘要:地址如果觉得不错可以给个或者提出你的建议,基于的图片转示意图。瓶颈目前项目的瓶颈存在于这个插件,把图片转成码在浏览器中输出是十分快速的,但是后期将输出的码转换成图片时,使用了插件,这个插件在转换图片的过程中十分缓慢,导致最后的输出缓慢。 GitHub地址:https://github.com/qiangzi772... 如果觉得不错可以给个star或者提出你的建议 img2Ascii...
摘要:地址如果觉得不错可以给个或者提出你的建议,基于的图片转示意图。瓶颈目前项目的瓶颈存在于这个插件,把图片转成码在浏览器中输出是十分快速的,但是后期将输出的码转换成图片时,使用了插件,这个插件在转换图片的过程中十分缓慢,导致最后的输出缓慢。 GitHub地址:https://github.com/qiangzi772... 如果觉得不错可以给个star或者提出你的建议 img2Ascii...
阅读 2454·2021-11-16 11:45
阅读 2423·2021-10-11 10:59
阅读 2233·2021-10-08 10:05
阅读 3722·2021-09-23 11:30
阅读 2331·2021-09-07 09:58
阅读 754·2019-08-30 15:55
阅读 750·2019-08-30 15:53
阅读 1906·2019-08-29 17:00