w3resource

Yarn install


In this tutorial we will be examining the yarn install CLI command.

The yarn install command is a command that is used to install all dependencies for a project. It is commonly used when you have just checked out code for a project, or when you need to pick up a dependency that another developer on your project has added to the project.

If you are coming from an npm background, you are most likely used to seeing something like npm install --save-dev or npm install --save.

However, in yarn both commands have been replaced by yarn add --dev and yarn add respectively. When you run yarn on the command line without any other command. It will default to yarn install and then pass through any flag that you provided, for example,

yarn --flat will default to yarn install --flat.

Most times, when you are working with continuous integration systems, you will need reproducible dependencies. This can be achieved by passing in the --frozen-lockfile flag.

yarn install

when you run the yarn install command, it will install all the dependencies listed in the package.json into a local node_modules folder.

The yarn.lock file will be utilized in the following way:

  • If a yarn.lock file is present and it is enough to satisfy all the dependencies listed in package.json, the exact versions that are recorded in yarn.lock are installed, and the yarn.lock will be unchanged. Yarn won't check for newer versions.
  • If the yarn.lock file is absent, or is not enough to satisfy all the dependencies that are listed in package.json (for instance, if you manually add a dependency to your package.json), Yarn will look for the newest versions available that satisfy the constraints in package.json. The results will be written to yarn.lock.

To ensure that the yarn.lock file is not update, you will need to use the --frozen-lockfile flag.

yarn install --check-files

This command verifies that files already installed in the node_modules folder were not removed.

yarn install --flat

This command will install all the dependencies, but will only allow one version for each package. On the first run this prompts you to choose a single version for each package that is depended on at multiple version ranges. These is added to your package.json under a resolutions field as shown below.

"resolutions": {
  "package-one": "2.0.0",
  "package-two": "5.0.0",
  "package-three": "1.5.2"
}

yarn install --force

The yarn install --force command refetches all packages, even ones that were installed previously.

yarn install --har

This command outputs an HTTP archive from all the network requests performed during the installation. HAR files are most commonly used to investigate network performance. You can be analyzed them with tools such as Google's HAR Analyzer or HAR Viewer.

yarn install --ignore-scripts

This command does not execute any scripts defined in the project package.json and its dependencies.

yarn install --modules-folder <path>

This command will specify an alternate location for the node_modules directory, rather than the default ./node_modules.

yarn install --no-lockfile

When you run this command it instructs yarn not to generate or read a yarn.lock lockfile.

yarn install --production[=true|false]

When this command is run yarn will not install any package listed in devDependencies if the NODE_ENV environment variable is set to production. You should use this flag to instruct Yarn to ignore NODE_ENV but to take its production-or-not status from this flag instead.

It should be noted that the --production flag is the same as --production=true. ?prod flag is an alias of --production.

yarn install --pure-lockfile

when you run this command, it instructs yarn not to generate a yarn.lock lockfile.

yarn install --focus

This will shallowly install a package's sibling workspace dependencies underneath its node_modules folder. It allows you to run that workspace without building the other workspaces it depends on.

It must be run inside an individual workspace in a workspaces project. This command cannot be run in a non-workspaces project or at the root of a workspaces project.

yarn install --frozen-lockfile

This command instructs yarn to generate a yarn.lock lockfile and it fails if an update is needed.

yarn install --silent

This command will run yarn install without printing installation log.

yarn install --ignore-engines

The yarn install -ignore-engines command will ignore engines check.

yarn install --ignore-optional

This command will ensure that yarn does notinstall optional dependencies.

yarn install --offline

This command run yarn install in offline mode.

yarn install --non-interactive

This command will disable interactive prompts, such as when there's an invalid version of a dependency.

yarn install --update-checksums

This command will update checksums in the yarn.lock lockfile if there is a mismatch between them and their package's checksum.

yarn install --audit

The yarn install --audit will check for known security issues with the installed packages. A count of the found issues will be added to the output. You should use the yarn audit command for additional details. Unlike npm, which will automatically run an audit on every install, yarn only does so when you it is requested.

yarn install --no-bin-links

This command is used to prevent yarn from creating symlinks for any binaries the package might contain.

yarn install --link-duplicates

Thus command will ceate hardlinks to the repeated modules in node_modules.

Previous: Yarn init cli command
Next: Yarn licenses and yarn link CLI commands