# Yarn Package Manager
Yarn (opens new window) is a package manager for Node.js, similar to npm. While sharing a lot of common ground, there are some key differences between Yarn and npm.
# Creating a basic package
The yarn init
command will walk you through the creation of a package.json
file to configure some information about your package. This is similar to the npm init
command in npm.
Create and navigate to a new directory to hold your package, and then run yarn init
mkdir my-package && cd my-package
yarn init
Answer the questions that follow in the CLI
question name (my-package): my-package
question version (1.0.0):
question description: A test package
question entry point (index.js):
question repository url:
question author: StackOverflow Documentation
question license (MIT):
success Saved package.json
✨ Done in 27.31s.
This will generate a package.json
file similar to the following
{
"name": "my-package",
"version": "1.0.0",
"description": "A test package",
"main": "index.js",
"author": "StackOverflow Documentation",
"license": "MIT"
}
Now lets try adding a dependency. The basic syntax for this is yarn add [package-name]
Run the following to install ExpressJS
yarn add express
This will add a dependencies
section to your package.json
, and add ExpressJS
"dependencies": {
"express": "^4.15.2"
}
# Yarn Installation
This example explains the different methods to install Yarn for your OS.
# macOS
# Homebrew
brew update
brew install yarn
# MacPorts
sudo port install yarn
# Adding Yarn to your PATH
Add the following to your preferred shell profile (.profile
, .bashrc
, .zshrc
etc)
export PATH="$PATH:`yarn global bin`"
# Windows
# Installer
First, install Node.js if it is not already installed.
Download the Yarn installer as an .msi
from the Yarn website (opens new window).
# Chocolatey
choco install yarn
# Linux
# Debian / Ubuntu
Ensure Node.js is installed for your distro, or run the following
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Configure the YarnPkg repository
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Install Yarn
sudo apt-get update && sudo apt-get install yarn
# CentOS / Fedora / RHEL
Install Node.js if not already installed
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
Install Yarn
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum install yarn
# Arch
Install Yarn via AUR.
Example using yaourt:
yaourt -S yarn
# Solus
sudo eopkg install yarn
# All Distributions
Add the following to your preferred shell profile (.profile
, .bashrc
, .zshrc
etc)
export PATH="$PATH:`yarn global bin`"
# Alternative Method of Installation
# Shell script
curl -o- -L https://yarnpkg.com/install.sh | bash
or specify a version to install
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version [version]
# Tarball
cd /opt
wget https://yarnpkg.com/latest.tar.gz
tar zvxf latest.tar.gz
# Npm
If you already have npm installed, simply run
npm install -g yarn
# Post Install
Check the installed version of Yarn by running
yarn --version
# Install package with Yarn
Yarn uses the same registry that npm does. That means that every package that is a available on npm is the same on Yarn.
To install a package, run yarn add package
.
If you need a specific version of the package, you can use yarn add package@version
.
If the version you need to install has been tagged, you can use yarn add package@tag
.