I have a web app made with Next.js deployed to Vercel, and I am trying to add some nightly tests using the Cypress Module API. I made an endpoint api/test from which I call cypress.run() and it executes the tests. This works fine in local (both in dev server and building), but when I deploy to Vercel and call the endpoint api/test it throws the following error:
Error: No version of Cypress is installed in: /home/sbx_user1051/.cache/Cypress/9.1.1/Cypress
Please reinstall Cypress by running: cypress install
----------
Cypress executable not found at: /home/sbx_user1051/.cache/Cypress/9.1.1/Cypress/Cypress
----------
Platform: linux-x64 (Amazon Linux - 2 (Karoo))
Cypress Version: 9.1.1
at /var/task/node_modules/cypress/lib/errors.js:330:17
at tryCatcher (/var/task/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/var/task/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/var/task/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/var/task/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/var/task/node_modules/bluebird/js/release/promise.js:729:18)
at Promise._fulfill (/var/task/node_modules/bluebird/js/release/promise.js:673:18)
at Promise._resolveCallback (/var/task/node_modules/bluebird/js/release/promise.js:466:57)
at Promise._settlePromiseFromHandler (/var/task/node_modules/bluebird/js/release/promise.js:559:17)
at Promise._settlePromise (/var/task/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/var/task/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/var/task/node_modules/bluebird/js/release/promise.js:729:18)
at Promise._fulfill (/var/task/node_modules/bluebird/js/release/promise.js:673:18)
at Promise._resolveCallback (/var/task/node_modules/bluebird/js/release/promise.js:466:57)
at Promise._settlePromiseFromHandler (/var/task/node_modules/bluebird/js/release/promise.js:559:17)
at Promise._settlePromise (/var/task/node_modules/bluebird/js/release/promise.js:604:18) {
known: true
}
I tried running cypress install manually in the postinstall, but the error keeps happening. Is there something I'm missing about the way Vercel/Next modifies its build?