Installation
What you'll learn​
- How to install Cypress using npm, Yarn, or pnpm
- What you need before installing
- Advanced installation options
Install & Run​
- Check Requirements: make sure you meet the system requirements including operating system, installation of Node.js and a supported package manager.
- Run in your project root: This will install Cypress locally as a dev dependency for your project.
- npm
- yarn
- pnpm
npm install cypress --save-dev
yarn add cypress --dev
pnpm add --save-dev cypress
- Open Cypress: This launches the Cypress App so you can choose end-to-end (E2E) or component testing (CT) and start writing tests.
- npm
- yarn
- pnpm
npx cypress open
yarn cypress open
pnpm cypress open
- Write your first test: Start with E2E or Component Testing.
System requirements​
Operating System​
Cypress supports running under these operating systems:
- macOS >=11 (Intel or Apple Silicon 64-bit (x64 or arm64))
- Linux (x64 or arm64) see also Linux Prerequisites down below
- Ubuntu >=20.04
- Debian >=11
- Fedora >=41
- Windows 10 & 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​
- Node.js 20.x, 22.x, >=24.x
Follow the instructions on Download Node.js to download and install Node.js.
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're using a Cypress Docker image, you'll 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:
Manager | Version | Docs |
---|---|---|
npm | >=10.1.0 | Install npm |
Yarn 1 (Classic) | >=1.22.22 | Install Yarn Classic |
Yarn (Modern aka berry) | >=4.x | Install Yarn Modern |
pnpm | >=8.x | Install pnpm |
Yarn users​
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
[email protected] and above require allowlisting cypress
.
Refer to the pnpm settings documentation for additional information.
In [email protected] and above, the CLI add
option --allow-build can be used, for example:
pnpm --allow-build=cypress add --save-dev cypress
Browsers​
Each Cypress release includes the Electron-bundled Chromium browser.
The latest 3 major versions of the following browsers are also supported:
- Google Chrome
- Microsoft Edge
- Mozilla Firefox (Firefox >=141.0 requires Cypress >=14.1.0)
- WebKit support is experimental
Hardware​
- Local: Any modern dev machine works
- CI: At least 2 CPUs + 4 GB RAM (8 GB+ recommended for long runs or video recording)
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
- Increased runtime
Linux Prerequisites​
Install required dependencies. See below under Docker Prerequisites for information on Cypress Docker images. These already include the necessary dependencies.
Ubuntu/Debian​
For Ubuntu 22.04 and below, and 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 optionally for Debian 13:
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.
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.
Next Steps​
Open the app and take it for a test drive!