ℹ️ 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

Gold sponsors

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:1707340411.0",
"canEdit": false,
"refType": "branch",
"currentOid": "158d96dce95313d9a00218302631cd263877d164"
},
"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,
"recentlyTouchedDataChannel": null,
"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,353",
"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<h2 tabindex=\"-1\" dir=\"auto\"><a id=\"user-content-ℹ️-important-note\" class=\"anchor\" aria-hidden=\"true\" tabindex=\"-1\" 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>ℹ️ Important note</h2>\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<h2 tabindex=\"-1\" dir=\"auto\"><a id=\"user-content-features\" class=\"anchor\" aria-hidden=\"true\" tabindex=\"-1\" 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>Features</h2>\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<h2 tabindex=\"-1\" dir=\"auto\"><a id=\"user-content-our-supports\" class=\"anchor\" aria-hidden=\"true\" tabindex=\"-1\" 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>Our supports</h2>\n<h3 tabindex=\"-1\" dir=\"auto\"><a id=\"user-content-gold-sponsors\" class=\"anchor\" aria-hidden=\"true\" tabindex=\"-1\" 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><a href=\"https://opencollective.com/yarnpkg\" rel=\"nofollow\">Gold sponsors</a></h3>\n<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>\n<h2 tabindex=\"-1\" dir=\"auto\"><a id=\"user-content-installing-yarn\" class=\"anchor\" aria-hidden=\"true\" tabindex=\"-1\" 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>Installing Yarn</h2>\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<h2 tabindex=\"-1\" dir=\"auto\"><a id=\"user-content-using-yarn\" class=\"anchor\" aria-hidden=\"true\" tabindex=\"-1\" 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>Using Yarn</h2>\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<h2 tabindex=\"-1\" dir=\"auto\"><a id=\"user-content-contributing-to-yarn\" class=\"anchor\" aria-hidden=\"true\" tabindex=\"-1\" 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>Contributing to Yarn</h2>\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<h2 tabindex=\"-1\" dir=\"auto\"><a id=\"user-content-prior-art\" class=\"anchor\" aria-hidden=\"true\" tabindex=\"-1\" 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>Prior art</h2>\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<h2 tabindex=\"-1\" dir=\"auto\"><a id=\"user-content-credits\" class=\"anchor\" aria-hidden=\"true\" tabindex=\"-1\" 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>Credits</h2>\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": 14.544381
}
},
"appPayload": {
"helpUrl": "https://docs.github.com",
"findFileWorkerPath": "/assets-cdn/worker/find-file-worker-32bb159cc57c.js",
"findInFileWorkerPath": "/assets-cdn/worker/find-in-file-worker-c6704d501c10.js",
"githubDevUrl": null,
"enabled_features": {
"code_nav_ui_events": false,
"copilot_conversational_ux": false,
"copilot_conversational_ux_embedding_update": false,
"copilot_popover_file_editor_header": false,
"copilot_smell_icebreaker_ux": true,
"copilot_workspace": false,
"codeview_firefox_inert": true
}
}
}
}
{
"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 *.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 objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: 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": "Mon, 26 Feb 2024 12:02:05 GMT",
"etag": "2546e34cc4ade0d256465317fc58ca85",
"referrer-policy": "no-referrer-when-downgrade",
"server": "GitHub.com",
"set-cookie": "logged_in=no; Path=/; Domain=github.com; Expires=Wed, 26 Feb 2025 12:02:04 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": "B3AE:3199:1841F9A:22E324E:65DC7DBC",
"x-xss-protection": "0"
}