/usr/local/bin/npx cypress cache list
npm WARN exec The following package was not found and will be installed: cypress@12.12.0
┌─────────┬───────────────────┐
│ version │ last used │
├─────────┼───────────────────┤
│ 12.11.0 │ a few seconds ago │
├─────────┼───────────────────┤
│ 12.12.0 │ 3 days ago │
└─────────┴───────────────────┘
/usr/local/bin/npx cypress verify
(Also reproducible with later versions.)
With Yarn Plug'n'Play there is no directory node_modules set up and therefore npx cannot find cypress and it installs instead the latest version, which may or may not correspond to the version specified in yarn.lock.
On a local machine, or a CI workflow which preserves the npm-cache/_npx cache, a previously installed version of Cypress may also be used.
Desired behavior
When Yarn Plug'n'Play is in use, then cache list and verify should use the installed version of Cypress (from yarn.lock) and not install a different version.
This issue refers to github-action usage with Yarn Modern Plug'n'Play (pnp).
Current behavior
When .github/workflows/example-yarn-modern-pnp.yml is run, it shows
npx
being called and not finding the installed version of cypress.For example job 4959218510 shows:
(Also reproducible with later versions.)
With Yarn Plug'n'Play there is no directory
node_modules
set up and therefore npx cannot findcypress
and it installs instead the latest version, which may or may not correspond to the version specified inyarn.lock
.On a local machine, or a CI workflow which preserves the
npm-cache/_npx
cache, a previously installed version of Cypress may also be used.Desired behavior
When Yarn Plug'n'Play is in use, then
cache list
andverify
should use the installed version of Cypress (fromyarn.lock
) and not install a different version.Suggestion