How to use Cypress Module API with Next.js and Vercel

Viewed 186

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?

0 Answers
Related