ℹ️ Important note

This repository holds the sources for Yarn 1.x (latest version at the time of this writing being 1.22). New releases (at this time the 3.2.3, although we're currently working on our next major) are tracked on the yarnpkg/berry repository, this one here being mostly kept for historical purposes and the occasional hotfix we publish to make the migration from 1.x to later releases easier.

If you hit bugs or issues with Yarn 1.x, we strongly suggest you migrate to the latest release - at this point they have been maintained longer than 1.x, and many classes of problems have already been addressed there. By using the nodeLinker setting you'll also have the choice of how you want to install your packages: node_modules like npm, symlinks like pnpm, or manifest files via Yarn PnP.


Fast, reliable, and secure dependency management.

Circle Status Appveyor Status Azure Pipelines 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.

Features

  • 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. 🐈

Our supports

All your environment variables, in one place. Stop struggling with scattered API keys, hacking together home-brewed tools, and avoiding access controls. Keep your team and servers in sync with Doppler.
Your app, enterprise-ready. Start selling to enterprise customers with just a few lines of code. Add Single Sign-On (and more) in minutes instead of months with WorkOS.

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

The 1.x codebase is fairly old and will only accept security fixes. For new features or bugfixes, please see our new repository and its contribution guide.

Prior art

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

Credits

Thanks to Sam Holmes for donating the npm package name!

yarnpkg/yarn

{
"props": {
"initialPayload": {
"allShortcutsEnabled": false,
"path": "/",
"repo": {
"id": 49970642,
"defaultBranch": "master",
"name": "yarn",
"ownerLogin": "yarnpkg",
"currentUserCanPush": false,
"isFork": false,
"isEmpty": false,
"createdAt": "2016-01-19T17:39:16.000Z",
"ownerAvatar": "https://avatars.githubusercontent.com/u/22247014?v=4",
"public": true,
"private": false,
"isOrgOwned": true
},
"currentUser": null,
"refInfo": {
"name": "master",
"listCacheKey": "v0:1716585581.0",
"canEdit": false,
"refType": "branch",
"currentOid": "7cafa512a777048ce0b666080a24e80aae3d66a9"
},
"tree": {
"items": [
{
"name": ".circleci",
"path": ".circleci",
"contentType": "directory"
},
{
"name": ".github",
"path": ".github",
"contentType": "directory"
},
{
"name": "__tests__",
"path": "__tests__",
"contentType": "directory"
},
{
"name": "bin",
"path": "bin",
"contentType": "directory"
},
{
"name": "end_to_end_tests",
"path": "end_to_end_tests",
"contentType": "directory"
},
{
"name": "flow-typed/npm",
"path": "flow-typed/npm",
"contentType": "directory",
"hasSimplifiedPath": true
},
{
"name": "packages",
"path": "packages",
"contentType": "directory"
},
{
"name": "resources",
"path": "resources",
"contentType": "directory"
},
{
"name": "scripts",
"path": "scripts",
"contentType": "directory"
},
{
"name": "src",
"path": "src",
"contentType": "directory"
},
{
"name": ".babelrc",
"path": ".babelrc",
"contentType": "file"
},
{
"name": ".dockerignore",
"path": ".dockerignore",
"contentType": "file"
},
{
"name": ".editorconfig",
"path": ".editorconfig",
"contentType": "file"
},
{
"name": ".eslintignore",
"path": ".eslintignore",
"contentType": "file"
},
{
"name": ".eslintrc.json",
"path": ".eslintrc.json",
"contentType": "file"
},
{
"name": ".flowconfig",
"path": ".flowconfig",
"contentType": "file"
},
{
"name": ".gitattributes",
"path": ".gitattributes",
"contentType": "file"
},
{
"name": ".gitignore",
"path": ".gitignore",
"contentType": "file"
},
{
"name": ".npmignore",
"path": ".npmignore",
"contentType": "file"
},
{
"name": "CHANGELOG.md",
"path": "CHANGELOG.md",
"contentType": "file"
},
{
"name": "CODE_OF_CONDUCT.md",
"path": "CODE_OF_CONDUCT.md",
"contentType": "file"
},
{
"name": "CONTRIBUTING.md",
"path": "CONTRIBUTING.md",
"contentType": "file"
},
{
"name": "Dockerfile.dev",
"path": "Dockerfile.dev",
"contentType": "file"
},
{
"name": "LICENSE",
"path": "LICENSE",
"contentType": "file"
},
{
"name": "README.md",
"path": "README.md",
"contentType": "file"
},
{
"name": "SECURITY.md",
"path": "SECURITY.md",
"contentType": "file"
},
{
"name": "appveyor.yml",
"path": "appveyor.yml",
"contentType": "file"
},
{
"name": "azure-pipelines.yml",
"path": "azure-pipelines.yml",
"contentType": "file"
},
{
"name": "gulpfile.js",
"path": "gulpfile.js",
"contentType": "file"
},
{
"name": "jenkins_jobs.groovy",
"path": "jenkins_jobs.groovy",
"contentType": "file"
},
{
"name": "package.json",
"path": "package.json",
"contentType": "file"
},
{
"name": "renovate.json",
"path": "renovate.json",
"contentType": "file"
},
{
"name": "yarn.lock",
"path": "yarn.lock",
"contentType": "file"
}
],
"templateDirectorySuggestionUrl": null,
"readme": null,
"totalCount": 33,
"showBranchInfobar": false
},
"fileTree": null,
"fileTreeProcessingTime": null,
"foldersToFetch": [],
"treeExpanded": false,
"symbolsExpanded": false,
"isOverview": true,
"overview": {
"banners": {
"shouldRecommendReadme": false,
"isPersonalRepo": false,
"showUseActionBanner": false,
"actionSlug": null,
"actionId": null,
"showProtectBranchBanner": false,
"publishBannersInfo": {
"dismissActionNoticePath": "/settings/dismiss-notice/publish_action_from_repo",
"releasePath": "/yarnpkg/yarn/releases/new?marketplace=true",
"showPublishActionBanner": false
},
"interactionLimitBanner": null,
"showInvitationBanner": false,
"inviterName": null
},
"codeButton": {
"contactPath": "/contact",
"isEnterprise": false,
"local": {
"protocolInfo": {
"httpAvailable": true,
"sshAvailable": null,
"httpUrl": "https://github.com/yarnpkg/yarn.git",
"showCloneWarning": null,
"sshUrl": null,
"sshCertificatesRequired": null,
"sshCertificatesAvailable": null,
"ghCliUrl": "gh repo clone yarnpkg/yarn",
"defaultProtocol": "http",
"newSshKeyUrl": "/settings/ssh/new",
"setProtocolPath": "/users/set_protocol"
},
"platformInfo": {
"cloneUrl": "https://desktop.github.com",
"showVisualStudioCloneButton": false,
"visualStudioCloneUrl": "https://windows.github.com",
"showXcodeCloneButton": false,
"xcodeCloneUrl": "https://developer.apple.com",
"zipballUrl": "/yarnpkg/yarn/archive/refs/heads/master.zip"
}
},
"newCodespacePath": "/codespaces/new?hide_repo_select=true&repo=49970642"
},
"popovers": {
"rename": null,
"renamedParentRepo": null
},
"commitCount": "2,357",
"overviewFiles": [
{
"displayName": "README.md",
"repoName": "yarn",
"refName": "master",
"path": "README.md",
"preferredFileType": "readme",
"tabName": "README",
"richText": "<article class=\"markdown-body entry-content container-lg\" itemprop=\"text\"><blockquote>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">ℹ️ Important note</h2><a id=\"user-content-ℹ️-important-note\" class=\"anchor\" aria-label=\"Permalink: ℹ️ Important note\" href=\"#ℹ️-important-note\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\">This repository holds the sources for Yarn 1.x (latest version at the time of this writing being 1.22). New releases (at this time the 3.2.3, although we're currently working on our next major) are tracked on the <a href=\"https://github.com/yarnpkg/berry\">yarnpkg/berry</a> repository, this one here being mostly kept for historical purposes and the occasional hotfix we publish to make the migration from 1.x to later releases easier.</p>\n<p dir=\"auto\">If you hit bugs or issues with Yarn 1.x, we strongly suggest you <a href=\"https://yarnpkg.com/getting-started/migration\" rel=\"nofollow\">migrate</a> to the latest release - at this point they have been maintained longer than 1.x, and many classes of problems have already been addressed there. By using the <a href=\"https://yarnpkg.com/configuration/yarnrc#nodeLinker\" rel=\"nofollow\"><code>nodeLinker</code> setting</a> you'll also have the choice of how you want to install your packages: node_modules like npm, symlinks like pnpm, or manifest files via <a href=\"https://yarnpkg.com/features/pnp\" rel=\"nofollow\">Yarn PnP</a>.</p>\n</blockquote>\n<hr>\n<p align=\"center\" dir=\"auto\">\n Fast, reliable, and secure dependency management.\n</p>\n<p align=\"center\" dir=\"auto\">\n <a href=\"https://circleci.com/gh/yarnpkg/yarn\" rel=\"nofollow\"><img alt=\"Circle Status\" src=\"https://camo.githubusercontent.com/3873d8377ccd242f1bbfb2d21b559deb8ca94f3ff93032a6d43536a6caf57e22/68747470733a2f2f636972636c6563692e636f6d2f67682f7961726e706b672f7961726e2e7376673f7374796c653d736869656c6426636972636c652d746f6b656e3d35663061373834373362306634343061666232313862663262383233323363633662336362343366\" data-canonical-src=\"https://circleci.com/gh/yarnpkg/yarn.svg?style=shield&amp;circle-token=5f0a78473b0f440afb218bf2b82323cc6b3cb43f\" style=\"max-width: 100%;\"></a>\n <a href=\"https://ci.appveyor.com/project/kittens/yarn/branch/master\" rel=\"nofollow\"><img alt=\"Appveyor Status\" src=\"https://camo.githubusercontent.com/4c9045255723026d7fe720d98768c02dc90c5bdc2c777c40100c54ce8aac43a0/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f307864763863687765326b6d6b3436333f7376673d74727565\" data-canonical-src=\"https://ci.appveyor.com/api/projects/status/0xdv8chwe2kmk463?svg=true\" style=\"max-width: 100%;\"></a>\n <a href=\"https://dev.azure.com/yarnpkg/yarn/_build\" rel=\"nofollow\"><img alt=\"Azure Pipelines status\" src=\"https://camo.githubusercontent.com/3ab628d7fd6b1acec9255142367ac4fb4a3732e5e54b0a66d2680a373d218627/68747470733a2f2f6465762e617a7572652e636f6d2f7961726e706b672f7961726e2f5f617069732f6275696c642f7374617475732f5961726e253230416363657074616e63652532305465737473\" data-canonical-src=\"https://dev.azure.com/yarnpkg/yarn/_apis/build/status/Yarn%20Acceptance%20Tests\" style=\"max-width: 100%;\"></a>\n <a href=\"https://discord.gg/yarnpkg\" rel=\"nofollow\"><img alt=\"Discord Chat\" src=\"https://camo.githubusercontent.com/3fa2926736f0f676f663e48b58114a141db22ab5e80316948bdcae9a325eaf1b/68747470733a2f2f696d672e736869656c64732e696f2f646973636f72642f3232363739313430353538393233333636342e737667\" data-canonical-src=\"https://img.shields.io/discord/226791405589233664.svg\" style=\"max-width: 100%;\"></a>\n <a href=\"http://commitizen.github.io/cz-cli/\" rel=\"nofollow\"><img alt=\"Commitizen friendly\" src=\"https://camo.githubusercontent.com/caf8f1537966a50f2598fc7f0daf7cc01a2f9b54e531ea0c39b261cde3fb3a1b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f6d6d6974697a656e2d667269656e646c792d627269676874677265656e2e737667\" data-canonical-src=\"https://img.shields.io/badge/commitizen-friendly-brightgreen.svg\" style=\"max-width: 100%;\"></a>\n</p>\n<hr>\n<p dir=\"auto\"><strong>Fast:</strong> 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.</p>\n<p dir=\"auto\"><strong>Reliable:</strong> 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.</p>\n<p dir=\"auto\"><strong>Secure:</strong> Yarn uses checksums to verify the integrity of every installed package before its code is executed.</p>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Features</h2><a id=\"user-content-features\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li><strong>Offline Mode.</strong> If you've installed a package before, then you can install it again without an internet connection.</li>\n<li><strong>Deterministic.</strong> The same dependencies will be installed in the same exact way on any machine, regardless of installation order.</li>\n<li><strong>Network Performance.</strong> Yarn efficiently queues requests and avoids request waterfalls in order to maximize network utilization.</li>\n<li><strong>Network Resilience.</strong> A single request that fails will not cause the entire installation to fail. Requests are automatically retried upon failure.</li>\n<li><strong>Flat Mode.</strong> Yarn resolves mismatched versions of dependencies to a single version to avoid creating duplicates.</li>\n<li><strong>More emojis.</strong> 🐈</li>\n</ul>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Our supports</h2><a id=\"user-content-our-supports\" class=\"anchor\" aria-label=\"Permalink: Our supports\" href=\"#our-supports\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<div class=\"markdown-heading\" dir=\"auto\"><h3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"><a href=\"https://opencollective.com/yarnpkg\" rel=\"nofollow\">Gold sponsors</a></h3><a id=\"user-content-gold-sponsors\" class=\"anchor\" aria-label=\"Permalink: Gold sponsors\" href=\"#gold-sponsors\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<markdown-accessiblity-table><table width=\"100%\">\n <tbody><tr>\n <td>\n <a href=\"https://www.doppler.com/?utm_campaign=github_repo&amp;utm_medium=referral&amp;utm_content=yarn&amp;utm_source=github#gh-light-mode-only\" rel=\"nofollow\">\n <img src=\"https://camo.githubusercontent.com/80998d6d89c2fc73a415f149375f5a74f0e6b751b79d5ab08a7db83a738902b3/68747470733a2f2f6173736574732e776562736974652d66696c65732e636f6d2f3564653939373266343931303363356466333936343030342f3566306331313436393932613565396534666135353365365f6c6f676f2e737667\" width=\"140\" data-canonical-src=\"https://assets.website-files.com/5de9972f49103c5df3964004/5f0c1146992a5e9e4fa553e6_logo.svg\" style=\"max-width: 100%;\">\n </a>\n <a href=\"https://www.doppler.com/?utm_campaign=github_repo&amp;utm_medium=referral&amp;utm_content=yarn&amp;utm_source=github#gh-dark-mode-only\" rel=\"nofollow\">\n <img src=\"https://user-images.githubusercontent.com/1037931/151548177-308f0a41-fb0e-4311-9969-4a2455b08686.svg\" width=\"140\" style=\"max-width: 100%;\">\n </a>\n </td>\n <td>\n <b>All your environment variables, in one place</b>. Stop struggling with scattered API keys, hacking together home-brewed tools, and avoiding access controls. Keep your team and servers in sync with <b><a href=\"https://www.doppler.com/?utm_campaign=github_repo&amp;utm_medium=referral&amp;utm_content=yarn&amp;utm_source=github\" rel=\"nofollow\">Doppler</a></b>.\n </td>\n </tr>\n <tr>\n <td>\n <a href=\"https://workos.com/?utm_campaign=github_repo&amp;utm_medium=referral&amp;utm_content=berry&amp;utm_source=github#gh-light-mode-only\" rel=\"nofollow\">\n <img src=\"https://user-images.githubusercontent.com/1037931/151547094-7aa4a5cb-07e4-4b8a-ab8f-0a15fd63ab7d.svg\" width=\"140\" style=\"max-width: 100%;\">\n </a>\n <a href=\"https://workos.com/?utm_campaign=github_repo&amp;utm_medium=referral&amp;utm_content=berry&amp;utm_source=github#gh-dark-mode-only\" rel=\"nofollow\">\n <img src=\"https://user-images.githubusercontent.com/1037931/151547899-3655e0d3-3bdb-4351-bd75-af2bebd3ce92.svg\" width=\"140\" style=\"max-width: 100%;\">\n </a>\n </td>\n <td>\n <b>Your app, enterprise-ready</b>. Start selling to enterprise customers with just a few lines of code. Add Single Sign-On (and more) in minutes instead of months with <b><a href=\"https://workos.com/?utm_campaign=github_repo&amp;utm_medium=referral&amp;utm_content=berry&amp;utm_source=github\" rel=\"nofollow\">WorkOS</a></b>.\n </td>\n </tr>\n</tbody></table></markdown-accessiblity-table>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Installing Yarn</h2><a id=\"user-content-installing-yarn\" class=\"anchor\" aria-label=\"Permalink: Installing Yarn\" href=\"#installing-yarn\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\">Read the <a href=\"https://yarnpkg.com/en/docs/install\" rel=\"nofollow\">Installation Guide</a> on our website for detailed instructions on how to install Yarn.</p>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Using Yarn</h2><a id=\"user-content-using-yarn\" class=\"anchor\" aria-label=\"Permalink: Using Yarn\" href=\"#using-yarn\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\">Read the <a href=\"https://yarnpkg.com/en/docs/usage\" rel=\"nofollow\">Usage Guide</a> on our website for detailed instructions on how to use Yarn.</p>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Contributing to Yarn</h2><a id=\"user-content-contributing-to-yarn\" class=\"anchor\" aria-label=\"Permalink: Contributing to Yarn\" href=\"#contributing-to-yarn\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\">The 1.x codebase is fairly old and will only accept security fixes. For new features or bugfixes, please see our new <a href=\"https://github.com/yarnpkg/berry\">repository</a> and its <a href=\"https://yarnpkg.com/advanced/contributing\" rel=\"nofollow\">contribution guide</a>.</p>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Prior art</h2><a id=\"user-content-prior-art\" class=\"anchor\" aria-label=\"Permalink: Prior art\" href=\"#prior-art\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\">Yarn wouldn't exist if it wasn't for excellent prior art. Yarn has been inspired by the following projects:</p>\n<ul dir=\"auto\">\n<li><a href=\"https://github.com/bundler/bundler\">Bundler</a></li>\n<li><a href=\"https://github.com/rust-lang/cargo\">Cargo</a></li>\n<li><a href=\"https://github.com/npm/cli\">npm</a></li>\n</ul>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Credits</h2><a id=\"user-content-credits\" class=\"anchor\" aria-label=\"Permalink: Credits\" href=\"#credits\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\">Thanks to <a href=\"https://github.com/samholmes\">Sam Holmes</a> for donating the npm package name!</p>\n</article>",
"loaded": true,
"timedOut": false,
"errorMessage": null,
"headerInfo": {
"toc": [
{
"level": 2,
"text": "ℹ️ Important note",
"anchor": "ℹ️-important-note",
"htmlText": "ℹ️ Important note"
},
{
"level": 2,
"text": "Features",
"anchor": "features",
"htmlText": "Features"
},
{
"level": 2,
"text": "Our supports",
"anchor": "our-supports",
"htmlText": "Our supports"
},
{
"level": 3,
"text": "Gold sponsors",
"anchor": "gold-sponsors",
"htmlText": "Gold sponsors"
},
{
"level": 2,
"text": "Installing Yarn",
"anchor": "installing-yarn",
"htmlText": "Installing Yarn"
},
{
"level": 2,
"text": "Using Yarn",
"anchor": "using-yarn",
"htmlText": "Using Yarn"
},
{
"level": 2,
"text": "Contributing to Yarn",
"anchor": "contributing-to-yarn",
"htmlText": "Contributing to Yarn"
},
{
"level": 2,
"text": "Prior art",
"anchor": "prior-art",
"htmlText": "Prior art"
},
{
"level": 2,
"text": "Credits",
"anchor": "credits",
"htmlText": "Credits"
}
],
"siteNavLoginPath": "/login?return_to=https%3A%2F%2Fgithub.com%2Fyarnpkg%2Fyarn"
}
},
{
"displayName": "CODE_OF_CONDUCT.md",
"repoName": "yarn",
"refName": "master",
"path": "CODE_OF_CONDUCT.md",
"preferredFileType": "code_of_conduct",
"tabName": "Code of conduct",
"richText": null,
"loaded": false,
"timedOut": false,
"errorMessage": null,
"headerInfo": {
"toc": null,
"siteNavLoginPath": "/login?return_to=https%3A%2F%2Fgithub.com%2Fyarnpkg%2Fyarn"
}
},
{
"displayName": "LICENSE",
"repoName": "yarn",
"refName": "master",
"path": "LICENSE",
"preferredFileType": "license",
"tabName": "License",
"richText": null,
"loaded": false,
"timedOut": false,
"errorMessage": null,
"headerInfo": {
"toc": null,
"siteNavLoginPath": "/login?return_to=https%3A%2F%2Fgithub.com%2Fyarnpkg%2Fyarn"
}
},
{
"displayName": "SECURITY.md",
"repoName": "yarn",
"refName": "master",
"path": "SECURITY.md",
"preferredFileType": "security",
"tabName": "Security",
"richText": null,
"loaded": false,
"timedOut": false,
"errorMessage": null,
"headerInfo": {
"toc": null,
"siteNavLoginPath": "/login?return_to=https%3A%2F%2Fgithub.com%2Fyarnpkg%2Fyarn"
}
}
],
"overviewFilesProcessingTime": 0
}
},
"appPayload": {
"helpUrl": "https://docs.github.com",
"findFileWorkerPath": "/assets-cdn/worker/find-file-worker-1583894afd38.js",
"findInFileWorkerPath": "/assets-cdn/worker/find-in-file-worker-3a63a487027b.js",
"githubDevUrl": null,
"enabled_features": {
"code_nav_ui_events": false,
"overview_shared_code_dropdown_button": false,
"react_blob_overlay": false,
"copilot_conversational_ux_embedding_update": false,
"copilot_smell_icebreaker_ux": true,
"copilot_workspace": false
}
}
}
}
{
"accept-ranges": "bytes",
"cache-control": "max-age=0, private, must-revalidate",
"content-encoding": "gzip",
"content-security-policy": "default-src 'none'; base-uri 'self'; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com api.githubcopilot.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com/v1/engines/github-completion/completions proxy.enterprise.githubcopilot.com/v1/engines/github-completion/completions *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/",
"content-type": "text/html; charset=utf-8",
"date": "Sat, 27 Jul 2024 06:34:59 GMT",
"etag": "3d0753c4094c7a342ea00ac9cd8b1597",
"referrer-policy": "no-referrer-when-downgrade",
"server": "GitHub.com",
"set-cookie": "logged_in=no; Path=/; Domain=github.com; Expires=Sun, 27 Jul 2025 06:34:58 GMT; HttpOnly; Secure; SameSite=Lax",
"strict-transport-security": "max-age=31536000; includeSubdomains; preload",
"transfer-encoding": "chunked",
"vary": "X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With",
"x-content-type-options": "nosniff",
"x-frame-options": "deny",
"x-github-request-id": "C354:3C2CC5:2A9EC51:3883551:66A49512",
"x-xss-protection": "0"
}