Tutorial
A Quick Introduction to the Yarn Package Manager
Introduction
Yarn is new and open source JavaScript package manager developed by Facebook. Yarn is fully compatible with the npm
registry and can work alongside npm
, but it’s aim it to be a safer, more secure and more reliable alternative.
You can replace your whole npm
workflow with Yarn for new or current projects with very minimal effort. Dependencies in Yarn are kept in a yarn.lock
file that should be checked-in your source control, but the file itself is for Yarn only and shouldn’t be edited. Here just enough to get your started with Yarn.
Installing the Yarn Package Manager
There are a few ways to install Yarn. You can, ironically enough, install it through npm
:
npm install -g yarn
If you don’t have npm
installed, you can also install with a simple bash script:
curl -o- -L https://yarnpkg.com/install.sh | bash
On Windows, you can get an installer file here.
Testing Your Yarn Installation
Run this to see if Yarn was properly installed or to see if you have the latest version:
yarn --version
Initializing a Yarn Project
To initialize a new project, run yarn init
:
yarn init
Installing Yarn Dependencies
Here’s how to install all the dependencies from your package.json file (the equivalent of npm install
):
yarn
Managing Yarn Dependencies
Let’s use lodash
for most of our examples:
Adding a project dependency
Use the add
command to add a dependency to your project:
yarn add lodash
You will see an output like this:
Outputyarn add v1.22.5
info No lockfile found.
[1/4] π Resolving packages...
[2/4] π Fetching packages...
[3/4] π Linking dependencies...
[4/4] π¨ Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
ββ lodash@4.17.20
info All dependencies
ββ lodash@4.17.20
β¨ Done in 1.48s.
Use the --dev
(or its alias -D
) flag to add a package as a dev dependency:
yarn add babel-cli -D
Updating a dependency
yarn upgrade lodash
or upgrade all the dependencies:
yarn upgrade
Removing a dependency
yarn remove lodash
Adding a global dependency
yarn global add lodash
Conclusion
This is a basic introduction to the Yarn Package Manager. Here are some other common commands:
- Get some information about a package:
yarn info lodash
- Verify that the installed version of a package is a match between the package.json and the Yarn lock files:
yarn check
- Publish a package:
yarn publish
- Check for outdated packages:
yarn outdated
- Find why a package is needed:
yarn why lodash
- Run one of the scripts defined in package.json:
yarn run test
Have fun with Yarn!