Skip to content

Files

Latest commit

Jun 24, 2025
3304a1f · Jun 24, 2025

History

History
264 lines (181 loc) · 11.3 KB

install-cypress.mdx

File metadata and controls

264 lines (181 loc) · 11.3 KB
title description sidebar_label sidebar_position
Install using npm, Yarn, or pnpm | Cypress Documentation
A step-by-step guide on how to install Cypress. Learn the requirements, installation process, and get started with Cypress for end-to-end and component testing
Install Cypress
30

Install Cypress

:::info

What you'll learn
  • How to install Cypress using npm, Yarn, or pnpm
  • System requirements for Cypress
  • How to install Cypress using direct download
  • Advanced installation options

:::

Installing Cypress

First, make sure you meet the system requirements including operating system, installation of Node.js and a supported package manager.

Install

Install Cypress via your preferred package manager. This will install Cypress locally as a dev dependency for your project.

Before installing Cypress, ensure you have a package.json file in the root of your project. If you need to create the file, you can run the init command for your package manager.

System proxy properties http_proxy, https_proxy and no_proxy are respected for the download of the Cypress binary. You can also use the npm properties npm_config_proxy and npm_config_https_proxy. Those have lower priority, so they will only be used if the system properties are being resolved to not use a proxy.

Direct download

The recommended approach is to install Cypress with npm because:

If you're not using Node or a package manager in your project or you want to just try Cypress out quickly, you can always download Cypress directly from our CDN.

:::caution

Recording runs to Cypress Cloud is not possible from the direct download. This download is only intended as a quick way to try out Cypress. To record tests to Cypress Cloud, you'll need to install Cypress as an package dependency.

:::

The direct download will always grab the latest available version. Your platform will be detected automatically.

Then you can manually unzip and double click. Cypress will run without needing to install any dependencies.

:::info

Direct downloading for old versions

It is possible to download an old version from our CDN by suffixing the URL with the desired version (ex. https://download.cypress.io/desktop/12.17.4).

:::

Advanced Installation

If you have more complex requirements, want to level-up your Cypress workflow or just need help with troubleshooting, check out our Advanced Installation reference. You can also find instructions to uninstall Cypress in this reference documentation.

Continuous integration

Please read our Continuous Integration docs for help installing Cypress in CI. When running in Linux you may need to install some system dependencies or you can use our Docker images which have everything you need prebuilt.

System requirements

Operating System

Cypress supports running under these operating systems:

  • macOS 11 and above (Intel or Apple Silicon 64-bit (x64 or arm64))
  • Linux (x64 or arm64) see also Linux Prerequisites down below
    • Ubuntu 20.04 and above
    • Debian 11 and above
    • Fedora 41 and above
  • Windows 10 and 11 (x64)
  • Windows 11 24H2 (arm64, runs in x64 emulation mode, minimum Cypress 14.5.0 required) - preview status
  • Windows Server 2019, 2022 and 2025 (x64)

Node.js

Cypress requires Node.js in order to install. We support the versions listed below:

  • Node.js 18.x, 20.x, 22.x and above

Cypress generally aligns with Node's release schedule. Accordingly, use of Node.js 18 and 23 with Cypress is deprecated and support is planned for removal in a future release of Cypress.

Installing Node.js

Follow the instructions on Download Node.js to download and install Node.js.

:::tip

Best Practice

Use a Node.js version manager as suggested on Download Node.js to install Node.js, or use an alternate Node.js version manager of your choice. This allows you to switch between different versions of Node.js easily.

Note that the Node.js Snap for Linux version manager is not recommended for use with Cypress. Attempting to use it as a non-root user may result in permissions errors.

:::

If you are using a Cypress Docker image, you will find a fixed version of Node.js is pre-installed in the image. You select the Node.js version using the Docker image tag.

Package Manager

Cypress is installed using one of the following supported package managers:

Package Manager Version Installation instructions
npm 8.6.0 and above Downloading and installing Node.js and npm
Yarn 1 (Classic) 1.22.22 and above Yarn 1 (Classic) Installation
Yarn (Modern aka berry) 4.x and above Yarn Installation
pnpm 8.x and above pnpm Installation

Yarn Configuration

Yarn (Modern) configuration using nodeLinker: "node-modules" is preferred. Cypress Component Testing is not currently compatible with the default setting nodeLinker: "pnp" which uses Yarn Plug'n'Play.

pnpm Configuration

The following configuration options enable Cypress to execute its postinstall script so it can install the Cypress binary into the binary cache. If these configuration options are not set, then Cypress may skip the postinstall script execution and Cypress will not run.

The pnpm side effects cache uses and caches the results of (pre/post)install hooks and is not compatible with Cypress' own caching. Disable the pnpm side effects cache, for example using the following command, executed in the root of your Cypress project:

pnpm config set side-effects-cache false --location project

pnpm@10.0.0 and above require allowlisting cypress. Refer to the pnpm settings documentation for additional information. In pnpm@10.4.0 and above, the CLI add option --allow-build can be used, for example:

pnpm --allow-build=cypress add --save-dev cypress

Hardware

When running Cypress locally, it should run comfortably on any machine that is capable of modern web development.

When running Cypress in CI, however, some of the lower-tier configurations might not be able to run Cypress reliably, especially when recording videos or doing longer test runs.

Some issues you might run into in CI that could be a sign of insufficient resources are:

  • Exiting early during cypress run or abruptly closing (“crashing”)
  • Frozen or missing frames in the video that is captured
  • Increased runtime

When running Cypress in CI, we recommend that you have the following hardware requirements:

CPU

  • 2 CPUs minimum to run Cypress
  • 1 additional CPU if video recording is enabled
  • 1 additional CPU per process you run outside of Cypress, such as:
    • App server (frontend)
    • App server (backend)
    • App database
    • Any additional infrastructure (Redis, Kafka, etc..)

Memory

  • 4GB minimum, 8GB+ for longer test runs

Linux Prerequisites

If you're using Linux, you'll want to have the required dependencies installed on your system. Depending on your system defaults, these dependencies may already be installed. If not, run the command line for your operating system listed below. See below under Docker Prerequisites for information on Cypress Docker images. These already include the necessary dependencies.

Ubuntu/Debian

apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb

For Ubuntu 24.04, and above, use the following command:

apt-get install libgtk2.0-0t64 libgtk-3-0t64 libgbm-dev libnotify-dev libnss3 libxss1 libasound2t64 libxtst6 xauth xvfb

Arch

pacman -S gtk2 gtk3 alsa-lib xorg-server-xvfb libxss nss libnotify

Amazon Linux 2023

dnf install -y xorg-x11-server-Xvfb gtk3-devel nss alsa-lib

Docker Prerequisites

Cypress Docker images are available from Docker Hub and the Amazon ECR (Elastic Container Registry) Public Gallery. These images, which are Linux (Debian) based, include all of the required dependencies pre-installed.

If you need Node.js, browser or Cypress version combinations which are not covered by the published Cypress Docker images, then the cypress/factory image allows you to generate your own customized Docker image easily.

If you are not using a Cypress Docker image, make sure that your base operating system is a Linux system listed in the supported Operating Systems above and that Node.js is installed in the image. It is recommended to have unzip installed. This avoids the Cypress binary installation falling back to a slower unzip method using Node.js.

Next Steps

Open the app and take it for a test drive!