Yarn Homebrew


Note: This tutorial will makes use of the Homebrew package manager. If you don't have this installed, you can follow the tutorial on the offical website. If you don't want to use Homebrew, you can find alternative tutorials on the offical Yarn website. Installation Instructions: Running brew install yarn in the macOS terminal will install. Once you've followed the instructions (running yarn -version from your home directory should yield something like 1.22.0), go to the next section to see how to actually enable Yarn 2 on your project. You've probably remarked the global Yarn is from the 'Classic' line (1.x). This is expected! One extra perk of this system is that projects configured for Yarn 1 will keep using it instead of. Homebrew 2.0.0 has been released (at @FOSDEM!) with official Linux and Windows 10 WSL support, brew cleanup running automatically (opt-out with HOMEBREWNOINSTALLCLEANUP), no more options in Homebrew/core and no longer running on OS X 10.8 and older. See Homebrew 2.0.0. “Homebrew on Linux” is called “Linuxbrew”. Dismiss Join GitHub today. GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together. I faced with same trouble after brew installs yarn on my MacOs Sierra 10.12.6. (And the first try of installation fall after brew update self with a message ' Homebrew must be run under Ruby 2.3! You're running 2.0.0.

The last Yarn version in Homebrew uses a non-LTS version (15) of NodeJS as its dependency. If this is an issue for you as it is for me, I just managed to accomplish use Yarn with the latest LTS version of NodeJS.

I created a gist for it and here are the following steps

  • Uninstall Yarn and Node
  • Install the latest LTS version of Node
  • Create the Symlink for it
Yarn Homebrew
  • Install Yarn without its dependencies

And that’s it!

If you want to check the versions of each package, just run

Cover Photo by Sereja Ris on Unsplash

Pesky yarn versions got you down? Automatically and easily manage those versions.

YVM will automatically use the correct yarn version when you run any yarn commands in any folder with a package.json, .yvmrc or any other supported configuration file. Otherwise, it will use you a globally set version of yarn.


Manually managing different yarn versions across projects is a pain. This fixes that.


Node: >=10.0.0


Installs the latest stable version.

NOTE: Remove the flag --without-node to install with the node dependency.




Execute the following in your terminal: Sky go 4090.

Or to install a specific version:



Some older versions of yvm do not have the node installer enabled. If so the shell script installer can be used.


Navigate to yvm releases and download the yvm.js file for the latest release into your desired yvm install directory.

Typically .yvm your home directory, then run the following command to configure your shell.

You will need to reload the shell to get yvm, or source the generated yvm.{sh,fish} scripts.


To upgrade yvm to the lastest version either install as normal, or run



Run any yarn command and watch it automagically use the correct version of yarn.

Yarn is shimmed to use the default version or the version defined your current directory config file.


Homebrew Yarn Version

To download and install a specific version of yarn, run:

To get the latest version of Yarn, run:

Execute an arbitrary command using a specific version of yarn:

Additional commands

Switch the current yarn versions:

NOTE: The above disables yarn shimming until a new shell is loaded.


Control version aliasing:

Homebrew Yarn Without Node

Show path to version used:

List installed yarn versions:

Full list of available commands:

Configuration file

Yvm defaults to using the yarn version in your package.jsonengines. Otherwise you can create a .yvmrc file containing the version number of yarn in your project's root directory. Afterwards, yvm use, yvm install and yvm exec will use the version specified in the config file if no version number is supplied to the command.You can also declare the version using other configuration files

Custom Bootstrapping

When using yvm exec, the appropriate yarn version is executed using the node available in the current context. This can be explicitly specified using the YVM_BOOTSTRAP_EXEC_PATH environment variable.

Example: if you are using nvm, you can avoid having to execute nvm use before using yvm exec:

You can set this environment variable globally in your preferred shell's setup script (e.g. bashrc/zshrc).

The script referenced via the exec path must be executable. It receives the yarn executable as its first argument, and should forward the remaining arguments to yarn.