Skip to main content

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 have all the system requirements.

Install​

Install Cypress via your preferred package manager. This will install Cypress locally as a dev dependency for your project. For pnpm, make sure that you have the pnpm environment installed: npm install pnpm@latest --global.

npm install cypress --save-dev

Make sure you have Node.js installed and that you have already run npm init or have a node_modules folder or package.json file in the root of your project to ensure Cypress is installed in the correct directory.

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.

info
snap

The Node.js Snap for Linux package manager has constrained operating system access. Install using:

npm install cypress --save-dev --foreground-scripts

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 is a desktop application that is installed on your computer. The desktop application supports these operating systems:

  • macOS 10.15 and above (Intel or Apple Silicon 64-bit (x64 or arm64)).
  • Linux Ubuntu 20.04 and above, Fedora 39 and above, and Debian 11 and above (x64 or arm64) (see Linux Prerequisites down below).
    • Cypress deprecated the use of Node.js 16.x in Cypress 13.0.0. We recommend that users update to at least Node.js 18.x. For related reasons, Cypress deprecates the use of Linux operating systems with library glibc versions 2.17 - 2.27. The Linux CLI command ldd --version displays your glibc version.
  • Windows 10 and above (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.

Installing Node.js​

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

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.

tip
Best Practice

Use a Node.js package manager to install Node.js. Package managers for Node.js allow you to switch between different versions easily.

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.

It is worth noting that Cypress on Linux requires a minimum glibc version of 2.17. This version is fixed as glibc is shipped with your operating system and cannot be changed.

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!