Node.js包管理器纱线的介绍与安装
序
这两天大家都被纱悄悄筛选了。最近,脸书发布了一个新的node.js包管理器“纱”来代替npm。为了跟上Javascript的潮流,我尝过这种号称快速、可靠、安全的包管理,所以写的内容不会很详细,更有可能只会比较这种全新的包管理和npm的区别。可能有一些错误,如果有的话,请纠正我。
一、安装
首先当然是安装。与npm不同,打包管理器是用nodejs手动挑选和安装的,纱需要手动安装。这是可以理解的,毕竟是全新的。但是说实话,安装体验不是很好…
为什么这么说…因为我的开发环境是Arch Linux,官方文档只提供了apt-get Linux和yum Linux的安装方法…
因为我的目标是取代npm,所以必须有一个平台范围的兼容性方案。果然,有一个适合所有发行版的手动安装脚本,所以我尝试了这个,但是安装了三次,都没有成功,各种问题.
最后,我们发现,实际上,纱线可以像模块一样直接安装npm:
Npm安装-g纱,一个代替npm的东西,居然用npm来安装?好吧,反正是这样安装的,所以我说安装体验一般.也许对于其他发行版会更好,也许对于一些流行的发行版和macOS,安装只是进入终端的一个命令。
截止到写这篇文章的时候,Arch Linux上已经有了一个安装模式,但是是通过yaourt(AUR)安装的,但是我觉得对于初学者来说,手动安装yaourt然后纱并不比直接安装nodejs然后npm安装容易。也许在现阶段,与Debian/Ubuntu/CentOS相比,Arch仍然是一个小众的发行版.
二、依赖关系管理
安装部分至此结束。作为一名包装管理人员,我们应该做好本职工作。接下来,我想试试这个新的包管理是否真的像宣传的那么神奇。接下来,我将纱线与相同环境下的npm和cnpm进行比较。由于墙内的特殊环境,国家预防机制登记处已被https://registry.npm.taobao.org取代。
更快的
在对比之前,我觉得这个对比对纱是不公平的,因为npm已经设置了国产镜像,但是纱到本文发表时还没有国产镜像,所以纱没有特殊设置。我有点担心这会不会导致测试结果出现错误。
既然纱是脸书的东西,让我们先试着安装他的反应:
首先当然是主角纱。需要注意的是,安装纱线依赖关系的方式与npm不同,需要执行以下命令来安装依赖关系:
纱加反作用#和NPM装反作用一样,可以看出纱装反作用用了13.3秒,确实令人满意。
接下来是npm。因为npm不显示命令时间,我捏了一下秒表,大概是45s,是纱线的几倍。看来纱的速度真的比npm快,而且npm用的是国产的。
但是cnpm更快,整个安装过程只需要4秒钟。但毕竟cnpm是npm的衍生产品,这是有道理的。既然这个东西可以提高npm的速度,谁知道以后会不会有cyan呢?但是通过这个测试,我们可以看到纱线的速度相比于原生npm是一个质的飞跃,fast并没有赢得口碑。
之后又尝试安装其他的包,对比了很多次。平均而言,纱线将比npm快3-6倍(这是安装较小包装的情况)。
可靠/安全
至于这个包管理是否可靠/安全,暂时不知道怎么测试。我只知道在使用的时候,偶尔会有机会报错一些莫名其妙的错误,但是重复两次命令,它又会正常工作了。毕竟纱是新生事物,这是可以理解的。不过,一天之内,纱纱的GitHub项目主页就拿下了9K星,还有上千期和拉请求,可见它的受欢迎程度,所以我还是看好它的前景。
离线模式
纱线的一个亮点是它可以离线安装依赖项,前提是这个依赖项已经安装。纱线将缓存已安装的包,如果在下一次安装中指定了-offline参数,纱线将直接从缓存中取出包,这将大大缩短依赖安装的时间。
不幸的是,虽然我一遍又一遍地阅读官方文件,但这个功能在我的环境中仍然无法正常工作。我会找出原因的。这一段将在后面添加。
但是这个特点真的很抢眼,可以说解决了npm的一个缺点,一个致命的缺点。有了这个功能,现有的从属设备可以在未来不联网的情况下安装。而且节省了下载时间,大大提高了效率。想象一下,将来执行react-native init时,您不必等待15分钟。(当然,还不知道脸书什么时候会用自己的包管理安装来取代react-native init的安装依赖过程。).
纱线锁文件
纱线使用纱线锁定文件,使您的程序在不同的机器上获得一致的体验。这个解释虽然牵强,但至少我没有机器给大家看,我问心无愧(云里雾里)。感觉是高端的东西,其实是package.json的补充
如果有兴趣,可以看这里的详细介绍(需要英语说得更好):
故事
快速、可靠和安全的依赖关系管理。yarnpkg.com
摘要
有时候,当你闭上眼睛,一个新的东西在你不知道的时候悄然出现。今天纱出了,明天就有事了。幸运的是,我们仍然可以赶上这个新事物的早班车。
但是,必须说,纱线的外观确实是进步的。它解决了npm的一些已知问题,并开发了新功能。在这种情况下,值得接触和学习。虽然替代npm还有很长的路要走,但可以预见它的未来是光明的。
以上就是本文的全部内容。希望本文的内容能给大家的学习或工作带来一些帮助。
版权声明:Node.js包管理器纱线的介绍与安装是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。