📦🐈 Fast, reliable, and secure dependency management.
JavaScript Shell Other
Switch branches/tags
Clone or download
rufman and arcanis fix(util/fs): use file content instead of mtime to determine equality (

npm 6 locks mtime of all files in the published tarball to be October
26th 1985, which means mtime is no longer changed when a package
is published with an npm version above 6.

See: https://npm.community/t/tarball-content-timestamps-locked-to-1985/149

Fixes: #5723
Latest commit c53d039 Jun 21, 2018
Failed to load latest commit information.
.circleci fix: Add Node 10 support (#5769) May 23, 2018
.github Mention yarnpkg/rfcs in CONTRIBUTING, README and PULL_REQUEST_TEMPLAT… Mar 3, 2017
__tests__ fix(install): Fix bin-links and related hung installs on Windows (#5975) Jun 12, 2018
bin Support MSYS{2} bash in bin/yarn (#5859) May 24, 2018
end_to_end_tests Delete Docker container after test runs Nov 19, 2016
flow-typed/npm chore(jest): Upgrade Jest flow types (#5573) Mar 26, 2018
packages Manually bumps the lockfile version Jun 11, 2018
resources Replace nodejs dependency with nodejs-lts. (#5925) Jun 5, 2018
scripts Excluded shebang for lockfile package (#5788) May 6, 2018
src fix(util/fs): use file content instead of mtime to determine equality ( Jun 21, 2018
.babelrc Fix yarn behaviour when scripts are failing (#5497) Apr 5, 2018
.dockerignore Add Dockerfile for building Yarn (#2628) Feb 11, 2017
.editorconfig Allow token replacement of .npmrc configuration with env vars (#1207) Nov 14, 2016
.eslintignore chore(eslint): ignore packages dir (#4963) Nov 27, 2017
.eslintrc.json chore(lint): Rename file to .eslintrc.json (#4931) Nov 17, 2017
.flowconfig Pkg-tests testsuite (#5392) Feb 27, 2018
.gitattributes Set tgz files as binary in git (#2273) Dec 16, 2016
.gitignore remove .vscode settings from repository (#5608) Apr 3, 2018
.npmignore Remove Roadrunner (#3079) Apr 8, 2017
CODE_OF_CONDUCT.md add my personal email to code of conduct Aug 24, 2016
CONTRIBUTING.md docs(contributing): Direct contribution guides to the website (#4872) Nov 7, 2017
Dockerfile.dev fix: Add Node 10 support (#5769) May 23, 2018
LICENSE LICENSE: Specify BSD 2-Clause (#3133) May 12, 2017
README.md Horizontal rule fixed in README (#5320) Feb 7, 2018
appveyor.yml fix: Add Node 10 support (#5769) May 23, 2018
gulpfile.js fix(build): add sourceRoot to sourcemaps. Fixes #5319. (#5323) Feb 20, 2018
jenkins_jobs.groovy ci(brew): Pass access token to Homebrew job (#5862) May 24, 2018
package.json 1.9.0-0 Jun 11, 2018
renovate.json ci(renovate): Disable Renovate Docker support (#5646) Apr 11, 2018
yarn.lock chore: Better error handling and tests in TarballFetcher (#5845) Jun 8, 2018



Fast, reliable, and secure dependency management.

Circle Status Appveyor Status Discord Chat Commitizen friendly

Fast: Yarn caches every package it has downloaded, so it never needs to download the same package again. It also does almost everything concurrently to maximize resource utilization. This means even faster installs.

Reliable: Using a detailed but concise lockfile format and a deterministic algorithm for install operations, Yarn is able to guarantee that any installation that works on one system will work exactly the same on another system.

Secure: Yarn uses checksums to verify the integrity of every installed package before its code is executed.


  • Offline Mode. If you've installed a package before, then you can install it again without an internet connection.
  • Deterministic. The same dependencies will be installed in the same exact way on any machine, regardless of installation order.
  • Network Performance. Yarn efficiently queues requests and avoids request waterfalls in order to maximize network utilization.
  • Network Resilience. A single request that fails will not cause the entire installation to fail. Requests are automatically retried upon failure.
  • Flat Mode. Yarn resolves mismatched versions of dependencies to a single version to avoid creating duplicates.
  • More emojis. 🐈

Installing Yarn

Read the Installation Guide on our website for detailed instructions on how to install Yarn.

Using Yarn

Read the Usage Guide on our website for detailed instructions on how to use Yarn.

Contributing to Yarn

Contributions are always welcome, no matter how large or small. Substantial feature requests should be proposed as an RFC. Before contributing, please read the code of conduct.

See Contributing.

Prior art

Yarn wouldn't exist if it wasn't for excellent prior art. Yarn has been inspired by the following projects:


Thanks to Sam Holmes for donating the npm package name!