
Yarn
Yarn is a package manager and project manager for JavaScript projects, from small projects to large monorepos.
What Yarn is
Yarn is a package manager and project manager for JavaScript projects, from small projects to large monorepos. It resolves dependencies, maintains lockfiles, and provides workspaces that install and link packages within a project. Modern Yarn uses Plug'n'Play by default, generating a Node.js loader file instead of a typical node_modules folder. Users can choose node_modules installs or pnpm-style symlink installs instead. Yarn caches installed packages and shares them across projects on the same machine. Its offline mirror and zero-installs workflow can keep cached packages in a repository and reduce reliance on the npm registry. Plugins can add resolvers, fetchers, linkers, commands, and lifecycle hooks. Generated editor SDKs and settings support tools including VSCode, Vim, Emacs, and Neovim. Yarn runs on Linux, macOS, and Windows and is free, with no paid plans or usage limits stated. Its documentation notes that React Native and Expo require standard node_modules installs. Yarn does not run audits during installation by default; users can run yarn npm audit separately.
Good
- Supports dependency resolution, lockfiles, and workspaces.
- Caches packages across projects on the same machine.
- Provides offline mirror and zero-installs workflows.
- Free and available on Linux, macOS, and Windows.
Watch out
- React Native and Expo require node_modules installs.
- Audits do not run during installation by default.
- Hardened mode checks can slow installs.
Who it suits
Yarn suits developers working on JavaScript projects, including open-source contributors and enterprise users. Its workspace features are relevant to teams managing monorepos.
Verdict
Yarn covers dependency management and monorepo workflows, with several installation strategies and offline options. Users of React Native or Expo need a node_modules installation, and audits require a separate command.
Plans and prices
From Yarn's own pricing page, checked 30 Sep 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Yarn | Free | Open-source package manager; no paid plans or usage limits stated |
The facts
Each one read from Yarn's own pages, with the date it was checked.
What it does
- Alternative install modes
- Yarn PnP can be replaced with node_modules installs or pnpm-style symlink-based installs.checked 30 Sep 2026
- Audience
- Yarn says it serves simple projects and industry monorepos, including open-source developers and enterprise users.checked 30 Sep 2026
- Caching
- Yarn caches installed packages by default and shares them across projects on the same machine.checked 30 Sep 2026
- Compatibility limit
- The Yarn PnP documentation identifies React Native and Expo as requiring typical node_modules installs.checked 30 Sep 2026
- Dependency resolution
- Yeschecked 22 Sep 2026
- Editor integrations
- Yarn provides generated editor SDKs and settings for tools including VSCode, Vim, Emacs, and Neovim.checked 30 Sep 2026
- Hardened mode
- In public GitHub pull requests, Yarn enables hardened mode by default to check lockfile resolutions and metadata against the remote registry; the checks can slow installs.checked 30 Sep 2026
- Install script behavior
- Since Yarn 4.14, postinstall scripts do not run by default and must be enabled globally or by package.checked 30 Sep 2026
- Lockfile support
- Yeschecked 22 Sep 2026
- Maintainer model
- Yarn describes itself as an independent open-source project tied to no company, with its contributor community defining the roadmap.checked 30 Sep 2026
- Offline and zero installs
- Yarn documents an offline mirror and zero-installs workflow that can keep cached packages in the repository and reduce reliance on the npm registry.checked 30 Sep 2026
- Offline installation
- Yeschecked 22 Sep 2026
- Package formats
- npm packages; tarballs; local,Git,link,patch,portal,and workspace referenceschecked 22 Sep 2026
- Plugins
- Plugins can add resolvers, fetchers, linkers, CLI commands, and lifecycle hooks.checked 30 Sep 2026
- Plug'n'Play
- Yarn PnP is the default installation strategy in modern Yarn and generates a Node.js loader file instead of a typical node_modules folder.checked 30 Sep 2026
- Private registry auth
- Yeschecked 22 Sep 2026
- Purpose
- Yarn is a package manager that also describes itself as a project manager.checked 30 Sep 2026
- Security audits
- Yarn does not run audits during yarn install by default; users can run yarn npm audit, which by default covers direct dependencies in the current workspace.checked 30 Sep 2026
- Workspaces
- Workspaces let Yarn install and link packages in the same project, supporting monorepo workflows.checked 30 Sep 2026
- Workspace support
- Yeschecked 22 Sep 2026
Money
- Free plan
- Yeschecked 22 Sep 2026
Where it runs
- Supported platforms
- Linux,macOS,Windowschecked 22 Sep 2026
The full review of Yarn
Overview
Yarn is a free, open-source package and project manager for JavaScript developers, from small projects to industry monorepos. It is a strong fit when shared workspaces and control over dependency installation matter; its default Plug'n'Play mode is not suitable for every toolchain.
Key features
Yarn resolves dependencies and records them in a lockfile. It supports npm packages, tarballs, and local, Git, link, patch, portal, and workspace references, giving teams several ways to bring dependencies into a project. Private registry authentication is supported as well.
Workspaces install and link packages within one project, making Yarn useful for monorepos. Modern Yarn defaults to Plug'n'Play, which creates a Node.js loader file instead of a conventional node_modules directory. Projects can switch to node_modules or pnpm-style symlink installs when their tooling expects a different layout. React Native and Expo require node_modules, so Yarn suits those projects only with that install mode.
Yarn caches installed packages by default and shares the cache across projects on the same machine. An offline mirror and zero-installs workflow can keep cached packages in the repository and reduce dependence on the npm registry, useful for teams that need offline installation but an added consideration for repository workflows.
Plugins can add resolvers, fetchers, linkers, CLI commands, and lifecycle hooks. Generated editor SDKs and settings support tools including VSCode, Vim, Emacs, and Neovim, helping editors work with Yarn projects.
Security checks need deliberate attention: yarn install does not run audits by default. The separate yarn npm audit command covers direct dependencies in the current workspace by default. Since Yarn 4.14, postinstall scripts are disabled by default and must be enabled globally or for a package. For public GitHub pull requests, hardened mode checks lockfile resolutions and metadata against the remote registry by default; those checks can make installs slower.
Pricing
Yarn costs nothing. Its open-source package manager has no paid plans or stated usage limits, so the same free offering suits individual projects and larger teams without a paid tier to outgrow.
Platforms
Yarn supports Linux, macOS, and Windows.
Who it's for
Yarn is suited to open-source developers and enterprise users who want dependency management across projects, especially teams organizing related packages with workspaces. Its independent, community-led maintainer model may appeal to users who prefer a project whose roadmap is set by contributors rather than tied to a company. Teams using React Native or Expo should plan on node_modules rather than the default PnP mode.
Pros and cons
- Pro: Workspaces link packages within a project, supporting monorepo workflows without requiring a separate workspace tool.
- Pro: PnP, node_modules, and pnpm-style symlink installs let teams choose an installation layout to match project needs.
- Pro: Package caching, offline mirrors, and zero-installs can reduce reliance on the npm registry.
- Con: React Native and Expo require node_modules, ruling out the default PnP setup for those projects.
- Con: Auditing is a separate step, and hardened-mode checks on public GitHub pull requests can slow installs.
Alternatives
Choose npm if you want a package manager with a free plan for public package authors and paid plans also available. For Python dependency management, uv is a free alternative; for Rust packages and builds, Cargo is free. Gradle is a free open-source build system, while pip is another free option. pnpm is a free alternative if you want to compare JavaScript package managers. For Java projects, Apache Maven is free and Maven 3.10 requires JDK 8 or later; for PHP dependency management, Composer is a free, MIT-licensed option.
Browse Package Managers, JavaScript Package Managers, or Monorepo Management Tools to compare more options.
Verdict
Choose Yarn if you want a free JavaScript package manager with workspace support and flexible install strategies, particularly for a monorepo. Look elsewhere if your project depends on React Native or Expo and you are unwilling to use node_modules, or if you need audits to run automatically during installation.
Getting started
- Open the Yarn website
- Choose Linux, macOS, or Windows
- Select an installation mode such as Plug’n’Play or node_modules
- Configure workspaces if the project contains linked packages
- Use the generated editor SDK settings when working in a supported editor
Limits worth knowing
Yarn has no paid plans or stated usage limits. React Native and Expo require a typical node_modules installation, and postinstall scripts need to be enabled globally or per package.
Questions
How much does Yarn cost?
Yarn is free and has a free plan. No paid plans are stated.
Which platforms does Yarn support?
Yarn supports Linux, macOS, and Windows.
Does Yarn support monorepos?
Yes. Workspaces install and link packages within the same project, supporting monorepo workflows.
What does Yarn Plug’n’Play do?
Plug’n’Play generates a Node.js loader file instead of a typical node_modules folder. Yarn can also use node_modules or pnpm-style symlink installs.
Does Yarn run security audits automatically?
No. Installation does not run audits by default; yarn npm audit can check direct dependencies in the current workspace.


