In this tutorial, we will discuss what is Yarn, how to install Yarn package manager in Linux and finally we will take a look at the basic usage of Yarn.
Table of Contents
Introduction to Yarn
Yarn, stands for Yet Another Resource Navigator, is a modern package manager to install and manage JavaScript programs in Linux, macOS and Windows operating systems.
Yarn is a fast, secure and reliable package manager. Yarn is fully compatible with the npm registry
and can work alongside npm
package manager.
It does everything concurrently to maximize resource utilization and caches every downloaded packages. Hence there is no need to download the same package over and over. Yarn is also secure by design, because it makes use of checksums before installation to ensure the integrity of each package.
By default, Yarn supports Node. You can also extend the support to other programming languages using plugins. Even though, Yarn command usage is similar to Npm, it has a few additional commands. For instance, it has "yarn why"
command which tells you why a certain package is installed.
Yarn was initially developed by Facebook to address and fix performance and security concerns with npm. Now Yarn is an independent open source project tied to neither Facebook nor any other company.
Install Yarn package manager in Linux
Yarn is available in the default repositories of my many Linux distributions. However, the officially recommended way to install Yarn is using Npm, the Nodejs package manager.
Npm will be installed by default with Nodejs installation. To Nodejs on Linux, refer the following guide:
After installing Nodejs, use npm to install Yarn on your Linux machine:
$ npm install -g yarn
Check the installed Yarn version:
$ yarn --version
1.22.10
As you can see in the above output, the installed Yarn version is 1.22.10.
Upgrade Yarn 1.x to Yarn 2
The developers of Yarn recommends to migrate from Yarn 1.x version to 2.x version to get a fast and stable Yarn experience.
To migrate Yarn 1.x to Yarn 2, go to your project folder and run the following command to upgrade to Yarn 2 version:
$ yarn set version berry
Here, berry
is the code name to Yarn 2 release version. You can check the version using command:
$ yarn --version 2.4.1
You can also use the following command to permanently upgrade Yarn 1.x version to Yarn 2.x version:
$ yarn set version latest
Check if Yarn is successfully upgraded or not using command:
$ yarn --version
2.4.1
Great! Yarn has been migrated to 2.x release. As of writing this guide, the latest Yarn release was 2.4.1.
Getting started with Yarn
We have installed Yarn and upgraded it to latest version. Now, let us learn a few basic Yarn commands.
1. Display help section
To view the list of of available Yarn commands, refer the Yarn help section by running the following command:
$ yarn help
This command will list all Yarn commands including their options/flags along with a small description of each command. You can also display help section of a any sub-command like below:
$ yarn add -h
Or,
$ yarn add --help
I am really impressed by the Yarn help section. The help section of each Yarn sub-command is neatly written with example commands. All commands' help section is very detailed and all options are explained thoroughly. I guess you don't need any online documentation. Everything can be get from offline.
2. Start a new project
Run the following command to start a new project:
$ yarn init
This command will create a new project with the name of the current user.
Sample output:
{ name: 'ostechnix' }
3. Install dependencies
To install all necessary dependencies for our new project, run:
$ yarn
Or,
$ yarn install
4. Install packages
We can install additional packages or dependencies using yarn add
command. There are several ways to add a new package using yarn command.
To add a regular package, for example lodash
, to the current workspace, run:
$ yarn add lodash
You can add a specific version of a package to the current workspace with command:
$ yarn add lodash@1.2.3
You can also add a package from the master branch of a GitHub repository to the current workspace using a URL:
$ yarn add lodash@https://github.com/lodash/lodash
Or using GitHub protocol like below:
$ yarn add lodash@lodash/lodash
If you want to add a different category of a dependencies, use --dev
flag to add dev dependencies and --peer
to add peer dependencies.
$ yarn add lodash --dev
$ yarn add lodash --peer
Like I already said, we can display the help section of a Yarn sub-command using -h/--help
flag:
$ yarn add -h
5. Upgrade packages
To upgrade a package using Yarn, run:
$ yarn up lodash
6. Display package information
To display information related to a package, run:
$ yarn info lodash
└─ lodash@npm:4.17.21
└─ Version: 4.17.21
If you want to show all available information about a package using yarn, the command would be:
$ yarn npm info lodash
7. Execute a shell command
We can execute a shell command with yarn exec
command.
For example, let us display a Hello World text with Yarn like below:
$ yarn exec echo Hello World
Hello World
Display Linux Kernel version with Yarn command:
$ yarn exec uname -mrs
Linux 5.4.0-72-generic x86_64
8. Display why a package is installed
This is one of the unique feature of Yarn. Yarn can display the reason why a package is installed.
$ yarn why lodash
9. Display Workspaces
The another notable feature of Yarn is Workspaces. Workspace allows users to install dependencies from multiple package.json
files in subfolders of a single root package.json
file, all in one go.
To print all available workspaces, run:
$ yarn workspaces list
10. Display current configuration settings
To print the current active configuration settings, run:
$ yarn config
11. View plugins
To print the plugins available directly from the Yarn repository, run:
$ yarn plugin list
The above command displays all available official plugins. If you want to display only the currently active plugins, run:
$ yarn plugin runtime
12. Download plugins
We can download and activate plugins from the official Yarn repository or local or third party repositories. If you add a plugin from third-party repository, enter the plugin's URL. If you add the plugin from your local system, simply enter its path.
To download and activate plugin, for example plugin-version
, from Yarn repository, run:
$ yarn plugin import @yarnpkg/plugin-version
13. Remove plugins
To remove a plugin imported from the Yarn repository, run:
$ yarn plugin remove @yarnpkg/plugin-stage
If you have imported it from the local system, simply mention its name.
14. Remove packages
To uninstall a package using Yarn, run:
$ yarn remove lodash
15. Remove cache
To remove all the local archives, run:
$ yarn cache clean
You can also remove all the archives stored in the ~/.yarn
directory using command:
$ yarn cache clean --mirror
These are just enough to get started with Yarn package manager. However, there are many commands available. I will leave them to you to learn and experiment. You can view the complete list of Yarn commands using yarn --help
command. If you don't know the usage of a specific sub-command, just run "yarn sub-command -h"
to bring up that particular command's help section.
Resources:
6 comments
Thanks for the guide.
You’re welcome. Glad it helped.
Magizhchi Nanba!!
Nandri.
pgp key import fails on Fedora 34 Workstation?
Can you be more specific? When did you get this error? While installing Yarn or installing packages using Yarn?