Yarn is an open-source npm client, developed at Facebook, that has many added benefits than the standard npm client. With Yarn, you can opt for speed, license checks, robust installs, compatibility with npm, and multiple registries. With Yarn, you can also automate the management of packages or dependencies. This includes installation, upgrade, configuration and removal of these packages.
In this article, we will explain how to install the latest version of Yarn on your Ubuntu through the official Yarn APT repository. We will also tell you how to perform basic package dependency management through Yarn.
We have run the commands and procedures mentioned in this article on a Ubuntu 18.04 LTS system.
Yarn Installation
Step 1: Install Curl for adding GPG key for Yarn
In this article, we will be using Curl in order to add the gpg key for the Yarn project.
Open your Ubuntu command line, the Terminal, either through the system Dash or the Ctrl+Alt+T shortcut. Then, enter the following command as sudo in order to install Curl on your system:
$ sudo apt install curl
Please note that only an authorized user can add, remove and configure software on Ubuntu. Enter the password for sudo, after which curl will be installed on your system if it is already not installed.
Step 2: Add Yarn gpg key
Use the following command in order to add the Yarn key which will be used to run a stable version of Yarn on your system:
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
Tip: Instead of typing the command, you can copy it from here and paste in the Terminal by using the Ctrl+Shift+V, or by using the Paste option from the right-click menu.
Step 3: Add Yarn APT repository to your system
Enter the following command in order to add the Yarn APT repository to your sources.list.d folder. This will help you in installing Yarn and also enabling your system to fetch upgrades and updates from the Yarn Internet repository in the future.
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Step 4: Upgrade your system’s Repository Index
The next step is to update your system’s repository index through the following command:
$ sudo apt-get update
This helps you in installing the latest available version of a software from the Internet.
Step 5: Install Yarn
Now that you are done with all the prerequisites required to install Yarn, use the following command as sudo in order to install the Yarn package on your system:
$ sudo apt-get install yarn
The system will prompt you with a Y/n option to proceed with the installation procedure. Enter Y to continue after which Yarn and nodejs will be installed on your system.
Step 5: Verify Yarn Installation
After you have installed Yarn, you can use one of the following two options to ensure that it is indeed installed on your system:
$ yarn --version
$ yarn -v
The above output shows that Yarn version 1.13.0, which is the latest version of Yarn, is installed on my system.
Managing NPM Dependencies with Yarn
We all know how important it is to manage dependencies while programming in JavaScript. So let us explore how to create a Yarn project and manage dependencies. This includes:
- Adding a dependency
- Upgrading a dependency
- Upgrading all dependencies
- Removing a dependency
- Adding all dependencies from the package.json file
All Yarn packages contain a file, usually in the project root, called package.json – this file holds various metadata relevant to the project. This file is used to give information to Yarn that allows it to identify the project as well as handle the project’s dependencies. It can also contain other metadata such as a project description, the version of the project in a particular distribution, license information, even configuration data – all of which can be vital to both Yarn and to the end users of the package. The package.json file is normally located at the root directory of a Yarn project.
How to Create a New Yarn Project
In order to create a new Yarn project, enter the following command:
$ yarn init [project_name]
For example, I will create a new project by the name of “first_yarn_project” through the following command
$ yarn init first_yarn_project
When you run the command, the system will ask you various questions. The answers to these questions will be saved in the package.json file along with other important information.
You can enter your answers or else choose to skip the unimportant ones by simply hitting Enter.
This is how my package.json file looks like when opened in a text editor:
For now, there is no “dependencies” section in this file, as no dependency is yet added to my project.
How to Add a Dependency
If you want to add a package as dependency to your Yarn project, you can use the following Yarn command:
$ yarn add [package_name]
For example, you can add Lodash as a dependency through the following command:
$ yarn add lodash
You can also add a specific version of a package by using the following syntax:
$ yarn add package@version-or-tag
For example, in order to add version 4.0.0 of Gulp, you can use the following command:
$ yarn add gulp@^4.0.0
When you do not specify a package number in the “yarn add” command, Yarn automatically adds the latest version of the package to your system.
Your package.json file will now contain the added dependencies as follows:
How to Upgrade a Dependency
If you want to upgrade any of the dependency that you have already added to your project, you can use the following command syntax to upgrade it:
$ yarn upgrade [package_name]
This will update the package to it’s latest available version or according to the version range defined in the package.json file.
For example, if you have added Gulp you can upgrade it as follows:
$ yarn upgrade gulp
If you wish to change the version number of an added dependency, you can do so through the following command syntax:
$ yarn upgrade [package_name]@[version_or_tag]
How to Upgrade all dependencies
The following command lets you upgrade all the dependencies added to your project.
$ yarn upgrade
The command checks the dependencies list in your package.json file and upgrades each, one by one, with the latest available version.
Remove a Dependency
If you want to remove a package as a dependency from your Yarn project, use the following command syntax:
$ yarn remove <package_name>
For example, the following command will remove Gulp from my project:
$ yarn remove gulp
After you remove a dependency, the dependencies list in your package.json file is also updated. Similarly, the yarn.lock file is also updated accordingly.
Install all dependencies
You might know that you can also manually edit your package.json file. For example, you can manually add a dependency to the dependencies list in your package.json file. The dependencies that you have manually added to this file can be installed and added to your project when you run one of the following commands:
$ yarn
Or,
$ yarn install
Uninstall Yarn
If you ever want to completely remove Yarn from your system, you can do so through the following command as sudo:
$ sudo apt purge yarn
This command will remove Yarn along with all the added dependencies you might have added to it.
The following command will remove the Yarn repository from your sources.list.d folder:
$ sudo rm /etc/apt/sources.list.d/yarn.list
If you want, you can even remove the gpg key that you added during installation.
To retrieve the key, use the following command:
$ apt-key list
Try to locate the Yarn package key and note down the last 8 characters.
Then use the following command in order to remove the key:
$ sudo apt-key del 86E50310
Alternatively, you can remove the key through the UI through the Software & Updates utility. Open this utility through the system Dash or the Applications list and then open the Authentication tab.
Select for the Yarn packaging key and click the Remove button in order to remove the key from your system.
So this was all about installing Yarn and performing some basic dependency management through it. To learn more about Yarn, you can find its detailed official documentation at this page: https://yarnpkg.com/en/docs.