cypress-io / cypress

Fast, easy and reliable testing for anything that runs in a browser.
https://cypress.io
MIT License
46.43k stars 3.14k forks source link

Overriding Node version with cypress.config.ts has no effect #29539

Open krista-prokop opened 1 month ago

krista-prokop commented 1 month ago

Current behavior

I couldn't find documentation on how to use the node version configs, so I'm wondering if I'm missing some other element or if this is a defect. The node version & path in config have no effect:

// neither of these, alone or combined, has any effect
export default defineConfig({
    resolvedNodeVersion: '20.9.0',  
    resolvedNodePath: NODE_DIR,
}

My test output still references version 18:

┌────────────────────────────────────────────────────────────────────────────────────────────
  │ Cypress:        13.9.0                                                                         │
  │ Browser:        Electron 118 (headless)                                                        │
  │ Node Version:   v18.20.2 (C:\Program Files\nodejs\node.exe)                                    │
  │ Specs:          7 found (...)                                                     │
  │ Searched:       cypress/test/e2e/**/*.cy.***js,jsx,ts,tsx***                                       │
  └────────────────────────────────────────────────────────────────────────────────────────────

Thanks!

Desired behavior

use specified node version instead of the bundled version

Test code to reproduce

export default defineConfig({
    resolvedNodeVersion: '20.9.0',  
    resolvedNodePath: NODE_DIR,
}

Cypress Version

13.9.0

Node version

20.9.0

Operating System

Windows

Debug Logs

No response

Other

No response

jennifer-shehane commented 1 month ago

We removed the nodeVersion config in v13: https://docs.cypress.io/guides/references/changelog#13-0-0

krista-prokop commented 1 month ago

@jennifer-shehane I did see that but assumed nodeVersion was different from the configs I'm using - resolvedNodeVersion and resolvedNodePath. Are you saying those 2 configs are deprecated too? I saw them still being referenced in the repo :/

Can you share the correct way to specify a node path/version, if I'm not using the correct configs?

jennifer-shehane commented 1 month ago

What are you trying to accomplish exactly?

MikeMcC399 commented 1 month ago

@krista-prokop

You need to install the version of Node.js that you want to use. Since you are on Windows you may consider installing and using a Node.js manager, such as nvm-windows https://github.com/coreybutler/nvm-windows/releases/tag/1.1.11, which allows you to switch between Node.js versions.

MikeMcC399 commented 1 month ago

You can get support from the Cypress technical community on Discord

Discord chat (click on button)

krista-prokop commented 1 month ago

What I was hoping to do was use the node executable that is bundled with my application repo (legacy architecture/paradigms) rather than the node version installed on my ci runners.

MikeMcC399 commented 1 month ago

@krista-prokop

What CI system are you using? GitHub Actions or something else?

This is more of a "how-to" question which typically gets discussed in Discord, but we can continue here for your next steps.