{
  "doc": {
    "id": "app/get-started/install-cypress",
    "title": "Install using npm, Yarn, pnpm, or Bun",
    "description": "The fastest way to get Cypress running. Check requirements, install it in your project, and start testing today.",
    "section": "app",
    "source_path": "/llm/markdown/app/get-started/install-cypress.md",
    "version": "e6c8d867c21227247f14714fb5690c7c018983c5",
    "updated_at": "2026-08-08T12:39:37.868Z",
    "headings": [
      {
        "id": "app/get-started/install-cypress#installation",
        "text": "Installation",
        "level": 1
      },
      {
        "id": "app/get-started/install-cypress#install-run",
        "text": "Install & Run",
        "level": 2
      },
      {
        "id": "app/get-started/install-cypress#system-requirements",
        "text": "System requirements",
        "level": 2
      },
      {
        "id": "app/get-started/install-cypress#operating-system",
        "text": "Operating System",
        "level": 3
      },
      {
        "id": "app/get-started/install-cypress#node-js",
        "text": "Node.js",
        "level": 3
      },
      {
        "id": "app/get-started/install-cypress#package-manager",
        "text": "Package Manager",
        "level": 3
      },
      {
        "id": "app/get-started/install-cypress#npm-configuration",
        "text": "npm configuration",
        "level": 4
      },
      {
        "id": "app/get-started/install-cypress#yarn-configuration",
        "text": "Yarn configuration",
        "level": 4
      },
      {
        "id": "app/get-started/install-cypress#pnpm-configuration",
        "text": "pnpm configuration",
        "level": 4
      },
      {
        "id": "app/get-started/install-cypress#bun-configuration",
        "text": "Bun configuration",
        "level": 4
      },
      {
        "id": "app/get-started/install-cypress#browsers",
        "text": "Browsers",
        "level": 3
      },
      {
        "id": "app/get-started/install-cypress#hardware",
        "text": "Hardware",
        "level": 3
      },
      {
        "id": "app/get-started/install-cypress#linux-prerequisites",
        "text": "Linux Prerequisites",
        "level": 3
      },
      {
        "id": "app/get-started/install-cypress#ubuntu-debian",
        "text": "Ubuntu/Debian",
        "level": 4
      },
      {
        "id": "app/get-started/install-cypress#arch",
        "text": "Arch",
        "level": 4
      },
      {
        "id": "app/get-started/install-cypress#amazon-linux-2023",
        "text": "Amazon Linux 2023",
        "level": 4
      },
      {
        "id": "app/get-started/install-cypress#docker-prerequisites",
        "text": "Docker Prerequisites",
        "level": 3
      },
      {
        "id": "app/get-started/install-cypress#advanced-installation",
        "text": "Advanced Installation",
        "level": 2
      },
      {
        "id": "app/get-started/install-cypress#continuous-integration",
        "text": "Continuous integration",
        "level": 2
      },
      {
        "id": "app/get-started/install-cypress#next-steps",
        "text": "Next Steps",
        "level": 2
      }
    ]
  },
  "content": {
    "type": "root",
    "children": [
      {
        "type": "heading",
        "depth": 1,
        "children": [
          {
            "type": "text",
            "value": "Installation"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "What you'll learn"
          }
        ]
      },
      {
        "type": "list",
        "ordered": false,
        "start": null,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "How to install Cypress using npm, Yarn, pnpm, or Bun"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "What you need before installing"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Advanced installation options"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "heading",
        "depth": 2,
        "children": [
          {
            "type": "text",
            "value": "Install & Run"
          }
        ]
      },
      {
        "type": "list",
        "ordered": true,
        "start": 1,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Check Requirements: make sure you meet the "
                  },
                  {
                    "type": "link",
                    "title": null,
                    "url": "#System-requirements",
                    "children": [
                      {
                        "type": "text",
                        "value": "system requirements"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " including operating system, installation of Node.js and a supported package manager."
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Run in your project root: This will install Cypress locally as a dev dependency for your project."
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "list",
        "ordered": false,
        "start": null,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "npm"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Yarn"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "pnpm"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Bun"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "npm install cypress --save-dev"
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "yarn add cypress --dev"
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "pnpm add --save-dev cypress"
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "bun add --dev cypress"
      },
      {
        "type": "list",
        "ordered": true,
        "start": 1,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Open Cypress: This launches the Cypress App so you can choose end-to-end (E2E) or component testing (CT) and start writing tests."
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "list",
        "ordered": false,
        "start": null,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "npm"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Yarn"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "pnpm"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Bun"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "npx cypress open"
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "yarn cypress open"
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "pnpm cypress open"
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "bunx cypress open"
      },
      {
        "type": "list",
        "ordered": true,
        "start": 1,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Write your first test: Start with "
                  },
                  {
                    "type": "link",
                    "title": null,
                    "url": "/llm/markdown/app/end-to-end-testing/writing-your-first-end-to-end-test.md",
                    "children": [
                      {
                        "type": "text",
                        "value": "E2E"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " or "
                  },
                  {
                    "type": "link",
                    "title": null,
                    "url": "/llm/markdown/app/component-testing/get-started.md",
                    "children": [
                      {
                        "type": "text",
                        "value": "Component Testing"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "."
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "heading",
        "depth": 2,
        "children": [
          {
            "type": "text",
            "value": "System requirements"
          }
        ]
      },
      {
        "type": "heading",
        "depth": 3,
        "children": [
          {
            "type": "text",
            "value": "Operating System"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Cypress supports running under these operating systems:"
          }
        ]
      },
      {
        "type": "list",
        "ordered": false,
        "start": null,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "macOS >=13.5 (Intel or Apple Silicon 64-bit (x64 or arm64))"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Linux (x64 or arm64) see also "
                  },
                  {
                    "type": "link",
                    "title": null,
                    "url": "#Linux-Prerequisites",
                    "children": [
                      {
                        "type": "text",
                        "value": "Linux Prerequisites"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " down below"
                  }
                ]
              },
              {
                "type": "list",
                "ordered": false,
                "start": null,
                "spread": false,
                "children": [
                  {
                    "type": "listItem",
                    "spread": false,
                    "checked": null,
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Ubuntu >=22.04"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "listItem",
                    "spread": false,
                    "checked": null,
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Debian >=11"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "listItem",
                    "spread": false,
                    "checked": null,
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Fedora >=43"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Windows 10 & 11 (x64)"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Windows 11 25H2 (arm64, runs in "
                  },
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://learn.microsoft.com/en-us/windows/arm/apps-on-arm-x86-emulation",
                    "children": [
                      {
                        "type": "text",
                        "value": "x64 emulation"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " mode, minimum Cypress "
                  },
                  {
                    "type": "link",
                    "title": null,
                    "url": "/llm/markdown/app/references/changelog.md#14-5-0",
                    "children": [
                      {
                        "type": "text",
                        "value": "14.5.0"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " required) - preview status"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Windows Server 2019, 2022 and 2025 (x64)"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "heading",
        "depth": 3,
        "children": [
          {
            "type": "text",
            "value": "Node.js"
          }
        ]
      },
      {
        "type": "list",
        "ordered": false,
        "start": null,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Node.js 20.x, 22.x, >=24.x"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Follow the instructions on "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://nodejs.org/en/download/",
            "children": [
              {
                "type": "text",
                "value": "Download Node.js"
              }
            ]
          },
          {
            "type": "text",
            "value": " to download and install "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://nodejs.org/",
            "children": [
              {
                "type": "text",
                "value": "Node.js"
              }
            ]
          },
          {
            "type": "text",
            "value": "."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Note that the "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://github.com/nodejs/snap",
            "children": [
              {
                "type": "text",
                "value": "Node.js Snap for Linux"
              }
            ]
          },
          {
            "type": "text",
            "value": " version manager is not recommended for use with Cypress. Attempting to use it as a non-root user may result in permissions errors."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "If you're using a "
          },
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/continuous-integration/overview.md#Cypress-Docker-variants",
            "children": [
              {
                "type": "text",
                "value": "Cypress Docker image"
              }
            ]
          },
          {
            "type": "text",
            "value": ", 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."
          }
        ]
      },
      {
        "type": "heading",
        "depth": 3,
        "children": [
          {
            "type": "text",
            "value": "Package Manager"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Cypress is installed using one of the following supported package managers:"
          }
        ]
      },
      {
        "type": "table",
        "align": [
          null,
          null,
          null
        ],
        "children": [
          {
            "type": "tableRow",
            "children": [
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "text",
                    "value": "Manager"
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "text",
                    "value": "Version"
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "text",
                    "value": "Docs"
                  }
                ]
              }
            ]
          },
          {
            "type": "tableRow",
            "children": [
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://docs.npmjs.com/",
                    "children": [
                      {
                        "type": "text",
                        "value": "npm"
                      }
                    ]
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "text",
                    "value": ">=10.1.0"
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://docs.npmjs.com/downloading-and-installing-node-js-and-npm",
                    "children": [
                      {
                        "type": "text",
                        "value": "Install npm"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "type": "tableRow",
            "children": [
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://classic.yarnpkg.com/",
                    "children": [
                      {
                        "type": "text",
                        "value": "Yarn 1 (Classic)"
                      }
                    ]
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "text",
                    "value": ">=1.22.22"
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://classic.yarnpkg.com/en/docs/install",
                    "children": [
                      {
                        "type": "text",
                        "value": "Install Yarn Classic"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "type": "tableRow",
            "children": [
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://yarnpkg.com/",
                    "children": [
                      {
                        "type": "text",
                        "value": "Yarn (Modern aka berry)"
                      }
                    ]
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "text",
                    "value": ">=4.x"
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://yarnpkg.com/getting-started/install",
                    "children": [
                      {
                        "type": "text",
                        "value": "Install Yarn Modern"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "type": "tableRow",
            "children": [
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://pnpm.io/",
                    "children": [
                      {
                        "type": "text",
                        "value": "pnpm"
                      }
                    ]
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "text",
                    "value": ">=8.x"
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://pnpm.io/installation",
                    "children": [
                      {
                        "type": "text",
                        "value": "Install pnpm"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "type": "tableRow",
            "children": [
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://bun.sh/",
                    "children": [
                      {
                        "type": "text",
                        "value": "Bun"
                      }
                    ]
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "text",
                    "value": ">=1.2.22"
                  }
                ]
              },
              {
                "type": "tableCell",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://bun.sh/docs/installation",
                    "children": [
                      {
                        "type": "text",
                        "value": "Install Bun"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Cypress uses a `postinstall` script to download the Cypress binary into the "
          },
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/references/advanced-installation.md#Binary-cache",
            "children": [
              {
                "type": "text",
                "value": "binary cache"
              }
            ]
          },
          {
            "type": "text",
            "value": ". As a security hardening measure, package managers increasingly block dependency lifecycle scripts such as `postinstall` by default. When the script is blocked, the Cypress binary is not downloaded and Cypress will not run."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "The sections below describe how to allow Cypress to run its `postinstall` script, or how to install the Cypress binary explicitly, for each supported package manager."
          }
        ]
      },
      {
        "type": "heading",
        "depth": 4,
        "children": [
          {
            "type": "text",
            "value": "npm configuration"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Starting in npm 11.16.0, a warning is issued, then starting in npm 12.0.0, npm blocks `postinstall` lifecycle scripts by default. To allow Cypress to run its `postinstall` script, use one of the following approaches."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "After installing Cypress, you can use the `npm install-scripts` CLI command to add `cypress` to the `allowScripts` list so npm runs the `postinstall` script on install. Use the `--no-allow-scripts-pin` option if you want to allow also future versions of Cypress, or omit if not. `npm rebuild` re-runs the installation to install the Cypress binary after its installation has been allowed."
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "npm install cypress --save-devnpm install-scripts approve cypress --no-allow-scripts-pinnpm rebuild cypress"
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "In npm v11 >=11.16.0 warnings are issued. Check the warning prompt for the recommended CLI command."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "For all npm versions >=11.16.0 you can add `cypress` to `allowScripts` in `package.json` manually instead of using a CLI command:"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "package.json"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "{  \"allowScripts\": {    \"cypress\": true  }}"
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Alternatively, if you'd rather not modify your `allowScripts` list, install the Cypress binary explicitly after install completes:"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "npx cypress install"
      },
      {
        "type": "heading",
        "depth": 4,
        "children": [
          {
            "type": "text",
            "value": "Yarn configuration"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "link",
            "title": null,
            "url": "https://yarnpkg.com/",
            "children": [
              {
                "type": "text",
                "value": "Yarn (Modern)"
              }
            ]
          },
          {
            "type": "text",
            "value": " configuration using "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://yarnpkg.com/configuration/yarnrc#nodeLinker",
            "children": [
              {
                "type": "text",
                "value": "nodeLinker: \"node-modules\""
              }
            ]
          },
          {
            "type": "text",
            "value": " is preferred. Cypress "
          },
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/core-concepts/testing-types.md#What-is-Component-Testing",
            "children": [
              {
                "type": "text",
                "value": "Component Testing"
              }
            ]
          },
          {
            "type": "text",
            "value": " is not currently compatible with the default setting "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://yarnpkg.com/configuration/yarnrc#nodeLinker",
            "children": [
              {
                "type": "text",
                "value": "nodeLinker: \"pnp\""
              }
            ]
          },
          {
            "type": "text",
            "value": " which uses "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://yarnpkg.com/features/pnp",
            "children": [
              {
                "type": "text",
                "value": "Yarn Plug'n'Play"
              }
            ]
          },
          {
            "type": "text",
            "value": "."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Starting in Yarn Modern version 4.14.0, the "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://yarnpkg.com/configuration/yarnrc#enableScripts",
            "children": [
              {
                "type": "text",
                "value": "enableScripts"
              }
            ]
          },
          {
            "type": "text",
            "value": " configuration option is set to `false` by default, which blocks dependency lifecycle scripts."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "To allow Cypress to run its `postinstall` script, set `enableScripts` to `true` and add `cypress` to the "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://yarnpkg.com/configuration/yarnrc#npmPreapprovedPackages",
            "children": [
              {
                "type": "text",
                "value": "npmPreapprovedPackages"
              }
            ]
          },
          {
            "type": "text",
            "value": " list (available in Yarn Modern >=4.10.0) in your project's `.yarnrc.yml` file:"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": ".yarnrc.yml"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "enableScripts: truenpmPreapprovedPackages:  - cypress"
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "`enableScripts` can also be set using the CLI:"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "yarn config set enableScripts true"
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Setting the list of `npmPreapprovedPackages` is less convenient via the CLI and is easier done by editing `.yarnrc.yml` directly."
          }
        ]
      },
      {
        "type": "heading",
        "depth": 4,
        "children": [
          {
            "type": "text",
            "value": "pnpm configuration"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "The pnpm "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://pnpm.io/settings#sideeffectscache",
            "children": [
              {
                "type": "text",
                "value": "side effects cache"
              }
            ]
          },
          {
            "type": "text",
            "value": " uses and caches the results of (pre/post)install hooks and is not compatible with Cypress' own caching. Disable the pnpm "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://pnpm.io/settings#sideeffectscache",
            "children": [
              {
                "type": "text",
                "value": "side effects cache"
              }
            ]
          },
          {
            "type": "text",
            "value": ", for example using the following command, executed in the root of your Cypress project:"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "pnpm config set side-effects-cache false --location project"
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "link",
            "title": null,
            "url": "https://github.com/pnpm/pnpm/releases/tag/v10.0.0",
            "children": [
              {
                "type": "text",
                "value": "pnpm@10.0.0"
              }
            ]
          },
          {
            "type": "text",
            "value": " and above require allowlisting `cypress`. Refer to the "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://pnpm.io/settings",
            "children": [
              {
                "type": "text",
                "value": "pnpm settings"
              }
            ]
          },
          {
            "type": "text",
            "value": " documentation for additional information. In "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://github.com/pnpm/pnpm/releases/tag/v10.4.0",
            "children": [
              {
                "type": "text",
                "value": "pnpm@10.4.0"
              }
            ]
          },
          {
            "type": "text",
            "value": " and above, the CLI `add` option "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://pnpm.io/cli/add#--allow-build",
            "children": [
              {
                "type": "text",
                "value": "--allow-build"
              }
            ]
          },
          {
            "type": "text",
            "value": " can be used, for example:"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "pnpm --allow-build=cypress add --save-dev cypress"
      },
      {
        "type": "heading",
        "depth": 4,
        "children": [
          {
            "type": "text",
            "value": "Bun configuration"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Cypress is detected automatically from a `bun.lock` (text, Bun >=1.2) or `bun.lockb` (binary) lockfile. When you install Cypress with `bun add`, Bun trusts the package and runs its `postinstall` script."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "When restoring dependencies from an existing manifest with `bun install` (for example in CI), Bun does not run `postinstall` scripts for packages that aren't in its "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://bun.sh/docs/install/lifecycle",
            "children": [
              {
                "type": "text",
                "value": "trustedDependencies"
              }
            ]
          },
          {
            "type": "text",
            "value": " allowlist. To install the Cypress binary, use one of the following approaches:"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Recommended: Skip lifecycle scripts and install the binary explicitly. This avoids running `postinstall` scripts from dependencies and is the more secure approach:"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "bun install --ignore-scriptsbunx cypress install"
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Alternatively, trust Cypress so Bun runs the `postinstall` script on install. You can use the CLI:"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "bun pm trust cypress"
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Or add `cypress` to `trustedDependencies` in `package.json` manually:"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "package.json"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "{  \"trustedDependencies\": [\"cypress\"]}"
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Refer to "
          },
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/references/advanced-installation.md#Troubleshoot-installation",
            "children": [
              {
                "type": "text",
                "value": "Advanced Installation"
              }
            ]
          },
          {
            "type": "text",
            "value": " for additional Bun installation options."
          }
        ]
      },
      {
        "type": "heading",
        "depth": 3,
        "children": [
          {
            "type": "text",
            "value": "Browsers"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Each Cypress release includes the Electron-bundled Chromium "
          },
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/references/launching-browsers.md#Electron-Browser",
            "children": [
              {
                "type": "text",
                "value": "browser"
              }
            ]
          },
          {
            "type": "text",
            "value": "."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "The latest 3 major versions of the following browsers are also supported:"
          }
        ]
      },
      {
        "type": "list",
        "ordered": false,
        "start": null,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "/llm/markdown/app/references/launching-browsers.md#Chrome-Browsers",
                    "children": [
                      {
                        "type": "text",
                        "value": "Google Chrome"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "/llm/markdown/app/references/launching-browsers.md#Edge-Browsers",
                    "children": [
                      {
                        "type": "text",
                        "value": "Microsoft Edge"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "/llm/markdown/app/references/launching-browsers.md#Firefox-Browsers",
                    "children": [
                      {
                        "type": "text",
                        "value": "Mozilla Firefox"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " (Firefox >="
                  },
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/141",
                    "children": [
                      {
                        "type": "text",
                        "value": "141.0"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " requires Cypress >="
                  },
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://docs.cypress.io/app/references/changelog#14-1-0",
                    "children": [
                      {
                        "type": "text",
                        "value": "14.1.0"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": ")"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://docs.cypress.io/app/references/launching-browsers#WebKit-Experimental",
                    "children": [
                      {
                        "type": "text",
                        "value": "WebKit"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " support is experimental"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "heading",
        "depth": 3,
        "children": [
          {
            "type": "text",
            "value": "Hardware"
          }
        ]
      },
      {
        "type": "list",
        "ordered": false,
        "start": null,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Local: Any modern dev machine works"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "CI: At least 2 CPUs + 4 GB RAM (8 GB+ recommended for long runs or video recording)"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Some issues you might run into in CI that could be a sign of insufficient resources are:"
          }
        ]
      },
      {
        "type": "list",
        "ordered": false,
        "start": null,
        "spread": false,
        "children": [
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Exiting early during `cypress run` or abruptly closing (\"crashing\")"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Frozen or missing frames in the video"
                  }
                ]
              }
            ]
          },
          {
            "type": "listItem",
            "spread": false,
            "checked": null,
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Increased runtime"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "type": "heading",
        "depth": 3,
        "children": [
          {
            "type": "text",
            "value": "Linux Prerequisites"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Install required dependencies. See below under "
          },
          {
            "type": "link",
            "title": null,
            "url": "#Docker-Prerequisites",
            "children": [
              {
                "type": "text",
                "value": "Docker Prerequisites"
              }
            ]
          },
          {
            "type": "text",
            "value": " for information on "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://github.com/cypress-io/cypress-docker-images",
            "children": [
              {
                "type": "text",
                "value": "Cypress Docker images"
              }
            ]
          },
          {
            "type": "text",
            "value": ". These already include the necessary dependencies."
          }
        ]
      },
      {
        "type": "heading",
        "depth": 4,
        "children": [
          {
            "type": "text",
            "value": "Ubuntu/Debian"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "For Ubuntu 22.04 and Debian:"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "apt-get install libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb"
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "For Ubuntu >=24.04 and optionally for Debian 13:"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "apt-get install libgtk-3-0t64 libgbm-dev libnotify-dev libnss3 libxss1 libasound2t64 libxtst6 xauth xvfb"
      },
      {
        "type": "heading",
        "depth": 4,
        "children": [
          {
            "type": "text",
            "value": "Arch"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "pacman -S gtk3 alsa-lib xorg-server-xvfb libxss nss libnotify"
      },
      {
        "type": "heading",
        "depth": 4,
        "children": [
          {
            "type": "text",
            "value": "Amazon Linux 2023"
          }
        ]
      },
      {
        "type": "code",
        "lang": null,
        "meta": null,
        "value": "dnf install -y xorg-x11-server-Xvfb gtk3-devel nss alsa-lib"
      },
      {
        "type": "heading",
        "depth": 3,
        "children": [
          {
            "type": "text",
            "value": "Docker Prerequisites"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/continuous-integration/overview.md#Cypress-Docker-variants",
            "children": [
              {
                "type": "text",
                "value": "Cypress Docker images"
              }
            ]
          },
          {
            "type": "text",
            "value": " are available from "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://hub.docker.com/u/cypress",
            "children": [
              {
                "type": "text",
                "value": "Docker Hub"
              }
            ]
          },
          {
            "type": "text",
            "value": " and the "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://gallery.ecr.aws/cypress-io",
            "children": [
              {
                "type": "text",
                "value": "Amazon ECR (Elastic Container Registry) Public Gallery"
              }
            ]
          },
          {
            "type": "text",
            "value": ". These images, which are Linux (Debian) based, include all of the required dependencies pre-installed."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "If you need Node.js, browser or Cypress version combinations which are not covered by the published Cypress Docker images, then the "
          },
          {
            "type": "link",
            "title": null,
            "url": "https://github.com/cypress-io/cypress-docker-images/tree/master/factory",
            "children": [
              {
                "type": "text",
                "value": "cypress/factory"
              }
            ]
          },
          {
            "type": "text",
            "value": " image allows you to generate your own customized Docker image easily."
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "If you are not using a Cypress Docker image, make sure that your base operating system is a Linux system listed in the supported "
          },
          {
            "type": "link",
            "title": null,
            "url": "#Operating-System",
            "children": [
              {
                "type": "text",
                "value": "Operating Systems"
              }
            ]
          },
          {
            "type": "text",
            "value": " 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."
          }
        ]
      },
      {
        "type": "heading",
        "depth": 2,
        "children": [
          {
            "type": "text",
            "value": "Advanced Installation"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "If you have more complex requirements, want to level-up your Cypress workflow or just need help with troubleshooting, check out our "
          },
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/references/advanced-installation.md",
            "children": [
              {
                "type": "text",
                "value": "Advanced Installation"
              }
            ]
          },
          {
            "type": "text",
            "value": " reference. You can also find instructions to "
          },
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/references/advanced-installation.md#Uninstall-Cypress",
            "children": [
              {
                "type": "text",
                "value": "uninstall Cypress"
              }
            ]
          },
          {
            "type": "text",
            "value": " in this reference documentation."
          }
        ]
      },
      {
        "type": "heading",
        "depth": 2,
        "children": [
          {
            "type": "text",
            "value": "Continuous integration"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "value": "Please read our "
          },
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/continuous-integration/overview.md",
            "children": [
              {
                "type": "text",
                "value": "Continuous Integration"
              }
            ]
          },
          {
            "type": "text",
            "value": " docs for help installing Cypress in CI. When running in Linux you may need to install some "
          },
          {
            "type": "link",
            "title": null,
            "url": "#Linux-Prerequisites",
            "children": [
              {
                "type": "text",
                "value": "system dependencies"
              }
            ]
          },
          {
            "type": "text",
            "value": " or you can use our "
          },
          {
            "type": "link",
            "title": null,
            "url": "#Docker-Prerequisites",
            "children": [
              {
                "type": "text",
                "value": "Docker images"
              }
            ]
          },
          {
            "type": "text",
            "value": " which have everything you need prebuilt."
          }
        ]
      },
      {
        "type": "heading",
        "depth": 2,
        "children": [
          {
            "type": "text",
            "value": "Next Steps"
          }
        ]
      },
      {
        "type": "paragraph",
        "children": [
          {
            "type": "link",
            "title": null,
            "url": "/llm/markdown/app/get-started/open-the-app.md",
            "children": [
              {
                "type": "text",
                "value": "Open the app"
              }
            ]
          },
          {
            "type": "text",
            "value": " and take it for a test drive!"
          }
        ]
      }
    ]
  },
  "token_estimate": 1871
}