gherkin-testcafe icon indicating copy to clipboard operation
gherkin-testcafe copied to clipboard

Yarn 2: gherkin-testcafe tried to access cucumber-expressions, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound

Open lexaurin opened this issue 4 years ago • 3 comments

Running gherkin-testcafe with yarn 2 fails on this error:

.pnp.js:14505
    throw firstError;
    ^

Error: gherkin-testcafe tried to access cucumber-expressions, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Required package: cucumber-expressions (via "cucumber-expressions")

seems like dependencies should be fixed to make package able to run with new Yarn.

Steps to reproduce

Enable newer yarn

yarn policies set-version berry # below v1.22
yarn set version berry          # on v1.22+

& run gherkin-testcafe

lexaurin avatar Jun 10 '20 21:06 lexaurin

Workaround, in .yarnrc.yml:

packageExtensions:
  "gherkin-testcafe@*":
    dependencies:
      "cucumber-expressions": "*"

lexaurin avatar Jun 10 '20 21:06 lexaurin

Thanks for bringing this up, @lexaurin !

I have not worked with Yarn 2 yet. I tried adding cucumber-expressions to the peer dependencies, and it fixed the issue you reported. I got a new but similar issue in testcafe-legacy-api. Did you face that issue, too? Or did I do something wrong there?

Lukas-Kullmann avatar Jun 12 '20 06:06 Lukas-Kullmann

Hi @Lukas-Kullmann,

yes, there is similar problem with testcafe-legacy-api but once you apply the same workaround here too it will start working all together.

packageExtensions:
  "gherkin-testcafe@*":
    dependencies:
      "cucumber-expressions": "*"
  "testcafe-legacy-api@*":
    dependencies:
      "read-file-relative": "*"
      "testcafe-hammerhead": "*"

lexaurin avatar Jun 12 '20 12:06 lexaurin