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
:
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.
Run this to see if Yarn was properly installed or to see if you have the latest version:
yarn --version
To initialize a new project, run yarn init
:
yarn init
Here’s how to install all the dependencies from your package.json file (the equivalent of npm install
):
yarn
Let’s use lodash
for most of our examples:
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
yarn upgrade lodash
or upgrade all the dependencies:
yarn upgrade
yarn remove lodash
yarn global add lodash
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!