当前位置: 首页 > 后端技术 > Node.js

yarn-新一代NPM

时间:2023-04-03 19:23:04 Node.js

yarn只是一夜,也是无数个日日夜夜。FaceBook开源了yarn,一个新的JavaScript包管理工具,这是一个与Exponent、Google和Tilde合作完成的项目。官方网站|GithubRepoyarn之所以出现——是为了解决npm历史遗留的痛点。亮点特别快——会缓存下载的包,避免重复下载~~~这个功能比npm好很多,不用每次都请求下载离线模式——以前下载的包可以离线重新安装安全——下载前会检查签名和包的完整性Reliableanddeterministic确保各平台依赖的一致性避免大量无用的请求。如果下载失败,会自动重新请求,避免整个安装过程失败。扁平化模式——为不匹配依赖版本的包创建一个独立的包,避免创建重复包。下载安装——支持多平台,因为他们的下载包基本都放在亚马逊上,版本会随时更新,所以我就不给出个别版本的下载链接了;可以自行到下载页面下载,这里只是为了脱离教程-下载传送门注意:三个平台window的命令行方式基本一致-下一步下一步,现在的安装目录什么的,然后打开cmd输入yarn--version就可以看到版本号了。.如图,.msi后缀格式的安装包需要依赖nodejs(也就是说需要先安装nodejs)。这里写张图描述下Linux——提供debian系的apt-get包管理器,安装rhel系的yummanager的安装这里就不点缀了,同样在终端执行,很简单...MacOS–有两种安装方式,一种是下载脚本执行,另一种是下载压缩包解压。..后者与Linux的下载和编译包相同。这里不用编码,直接用curl-o--Lhttps://yarnpkg.com/install.sh|bash在终端下载脚本在终端同样执行Executecd/opt#请忽略注释,这是切换到目录wgethttps://yarnpkg.com/latest.tar.gz#使用wget来下载tar.gzpackagetarzvxfyarn-*.tar.gz#Unzippackage#Yarnisnowin/opt/yarn-[version]/小科普:MacOS有BSD血统,Linux是UNIX-like,两者都是UNIX-喜欢。..所以,懂Linux和搞MacOS的朋友感同身受,也能很快上手。使用教程和npm的使用方法很相似,这里详细介绍一下~工程下初始化的三步-切到你的工程中,执行yarninit会在根目录下生成一个package.json,添加依赖,安装启动命令解释yarninit#initializepackage.json–和npm一致,这里写图片描述协议{“名称”:“纱线演示”,“版本”:“1.0.0”,“描述”:“这是纱线演示。”,“主要”:“index.js”,“存储库”:{"url":"...","type":"git"},"author":"LinQunHe(CRPER)","license":"MIT","dependencies":{"jquery":"2.1.4"}}添加依赖yarnadd[package]--添加包,会自动安装最新版本,注意指定的版本号会被覆盖!!!在这里写图片描述yarnadd[package]@[version]--安装带版本号在这里写图片描述yarnadd[package]@[tag]--tag,指的是在git上推送的tag[norelease!!],看图这里写张图描述一下更新依赖的小技巧:估计是manager还是有些不完善,无法单独升级某个依赖。它将提示错误此命令不需要任何参数。--表示该命令不需要任何参数[withoutparameters]yarnupgrade[package]--更新一个包yarnupgrade[package]@[version]--指定更新到一个版本的yarnupgrade[package]@[tag]—指定的更新版本不能在某个标签之上使用。唯一能用的就是在项目下执行。yarnupgrade会遍历所有的依赖,然后全部更新。这里写图片描述移除依赖yarnremove[package]--移除某个包,这里写图片描述,在其他项目中启动一个类似npm的项目,执行npminstall;yarnmanager支持两个命令来安装所有的依赖:yarn或yarninstall当然还有一些其他不常用的命令,比如publishing,可以在这里查看详情——传送门总结yarnmanager有一个非常需要注意的重要文件,即yarn.lock,用于依赖的正确性,快速可靠的安装;执行cli时自动生成,需要保存在项目根目录下!!!!不要编辑,这个是其他电脑自动生成初始化的,一定要记得复制package.json和yarn.lock,简单秒下载【缓存机制】,如图;这里写图片描述据说npm的开发者也参与了yarn的开发。..该产品在未来有取代npm的趋势。..