- Node.js Web Development
- David Herron
- 345字
- 2021-06-11 18:48:19
The Yarn package management system
As powerful as npm is, it is not the only package management system for Node.js. Because the Node.js core team does not dictate a package management system, the Node.js community is free to roll up their sleeves and develop any system they feel best. That the vast majority of us use npm is a testament to its value and usefulness. But, there is a significant competitor.
Yarn (see https://yarnpkg.com/en/) is a collaboration between engineers at Facebook, Google, and several other companies. They proclaim that Yarn is ultrafast, ultra-secure (by using checksums of everything), and ultrareliable (by using a yarn-lock.json file to record precise dependencies).
Instead of running their own package repository, Yarn runs on top of the npm package repository at npmjs.com. This means that the Node.js community is not forked by Yarn, but enhanced by having an improved package management tool.
The npm team responded to Yarn in npm@5 (also known as npm version 5) by improving performance and by introducing a package-lock.json file to improve reliability. The npm team has implemented additional improvements in npm@6.
Yarn has become very popular and is widely recommended over npm. They perform extremely similar functions, and the performance is not that different from npm@5. The command-line options are worded differently. Everything we've discussed for npm is also supported by Yarn, albeit with slightly different command syntax. An important benefit Yarn brings to the Node.js community is that the competition between Yarn and npm seems to be breeding faster advances in Node.js package management overall.
To get you started, these are the most important commands:
- yarn add: Adds a package to use in your current package
- yarn init: Initializes the development of a package
- yarn install: Installs all the dependencies defined in a package.json file
- yarn publish: Publishes a package to a package manager
- yarn remove: Removes an unused package from your current package
Running yarn by itself does the yarn install behavior. There are several other commands in Yarn, and yarn help will list them all.
- Spring Boot開發(fā)與測試實(shí)戰(zhàn)
- JavaScript:Moving to ES2015
- 搞定J2EE:Struts+Spring+Hibernate整合詳解與典型案例
- Go語言開發(fā)實(shí)戰(zhàn)(慕課版)
- C語言程序設(shè)計(jì)實(shí)踐
- Android編程權(quán)威指南(第4版)
- Python機(jī)器學(xué)習(xí)開發(fā)實(shí)戰(zhàn)
- C# 7.1 and .NET Core 2.0:Modern Cross-Platform Development(Third Edition)
- SQL Server on Linux
- 征服C指針(第2版)
- Clojure Web Development Essentials
- HTML并不簡單:Web前端開發(fā)精進(jìn)秘籍
- 算法訓(xùn)練營:海量圖解+競賽刷題(入門篇)
- Socket.IO Cookbook
- Python3從入門到實(shí)戰(zhàn)