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.
There are a few ways to install Yarn. You can, ironically enough, install it through npm
:
If you don’t have npm
installed, you can also install with a simple bash script:
On Windows, you can get an installer file here.
Run this to see if Yarn was properly installed or to see if you have the latest version:
To initialize a new project, run yarn init
:
Here’s how to install all the dependencies from your package.json file (the equivalent of npm install
):
Let’s use lodash
for most of our examples:
Use the add
command to add a dependency to your project:
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:
or upgrade all the dependencies:
This is a basic introduction to the Yarn Package Manager. Here are some other common commands:
yarn info lodash
yarn check
yarn publish
yarn outdated
yarn why lodash
yarn run test
Have fun with Yarn!
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!