--- id: docs_cli_install guide: docs_cli layout: guide --- {% include vars.html %} `yarn install` is used to install all dependencies for a project. This is most commonly used when you have just checked out code for a project, or when another developer on the project has added a new dependency that you need to pick up. If you are used to using npm you might be expecting to use `--save` or `--save-dev`. These have been replaced by `yarn add` and `yarn add --dev`. For more information, see [the `yarn add` documentation]({{url_base}}/docs/cli/add). Running `yarn` with no command will run `yarn install`, passing through any provided flags. If you need reproducible dependencies, which is usually the case with the continuous integration systems, you should pass `--frozen-lockfile` flag. ##### `yarn install` Install all the dependencies listed within `package.json` in the local `node_modules` folder. The `yarn.lock` file is utilized as follows: - If `yarn.lock` is present and is enough to satisfy all the dependencies listed in `package.json`, the exact versions recorded in `yarn.lock` are installed, and `yarn.lock` will be unchanged. Yarn will not check for newer versions. - If `yarn.lock` is absent, or is _not_ enough to satisfy all the dependencies listed in `package.json` (for example, if you manually add a dependency to `package.json`), Yarn looks for the newest versions available that satisfy the constraints in `package.json`. The results are written to `yarn.lock`. If you want to ensure `yarn.lock` is not updated, use `--frozen-lockfile`. ##### `yarn install --check-files` Verifies that already installed files in `node_modules` did not get removed. ##### `yarn install --flat` Install all the dependencies, but only allow one version for each package. On the first run this will prompt you to choose a single version for each package that is depended on at multiple version ranges. These will be added to your `package.json` under a `resolutions` field. ```json "resolutions": { "package-a": "2.0.0", "package-b": "5.0.0", "package-c": "1.5.2" } ``` ##### `yarn install --force` This refetches all packages, even ones that were previously installed. ##### `yarn install --har` Outputs an [HTTP archive](https://en.wikipedia.org/wiki/.har) from all the network requests performed during the installation. HAR files are commonly used to investigate network performance, and can be analyzed with tools such as [Google's HAR Analyzer](https://toolbox.googleapps.com/apps/har_analyzer/) or [HAR Viewer](http://www.softwareishard.com/blog/har-viewer/). ##### `yarn install --ignore-scripts` Do not execute any scripts defined in the project package.json and its dependencies. ##### `yarn install --modules-folder ` Specifies an alternate location for the `node_modules` directory, instead of the default `./node_modules`. ##### `yarn install --no-lockfile` Don't read or generate a `yarn.lock` lockfile. ##### `yarn install --production[=true|false]` Yarn will not install any package listed in `devDependencies` if the `NODE_ENV` environment variable is set to `production`. Use this flag to instruct Yarn to ignore `NODE_ENV` and take its production-or-not status from this flag instead. > **Notes:** `--production` is the same as `--production=true`. `--prod` is an alias of `--production`. ##### `yarn install --pure-lockfile` Don't generate a `yarn.lock` lockfile. ##### `yarn install --focus` Shallowly installs a package's sibling workspace dependencies underneath its `node_modules` folder. This allows you to run that workspace without building the other workspaces it depends on. Must be run inside an individual workspace in a workspaces project. Can not be run in a non-workspaces project or at the root of a workspaces project. [Learn more about focused workspaces.](https://yarnpkg.com/blog/2018/05/18/focused-workspaces/) ##### `yarn install --frozen-lockfile` Don't generate a `yarn.lock` lockfile and fail if an update is needed. ##### `yarn install --silent` Run yarn install without printing installation log. ##### `yarn install --ignore-engines` Ignore engines check. ##### `yarn install --ignore-optional` Don't install optional dependencies. ##### `yarn install --offline` Run yarn install in offline mode. ##### `yarn install --non-interactive` Disable interactive prompts, like when there's an invalid version of a dependency. ##### `yarn install --update-checksums` Update checksums in the `yarn.lock` lockfile if there's a mismatch between them and their package's checksum. ##### `yarn install --audit` Checks for known security issues with the installed packages. A count of found issues will be added to the output. Use the `yarn audit` command for additional details. Unlike npm, which automatically runs an audit on every install, yarn will only do so when requested. (This may change in a later update as the feature is proven to be stable.) ##### `yarn install --no-bin-links` Prevent yarn from creating symlinks for any binaries the package might contain. ##### `yarn install --link-duplicates` Create hardlinks to the repeated modules in node_modules. ##### `yarn install --verbose` Show additional logs while installing dependencies