berry: [Bug] Resolver supported by Yarn v1 does not work in Yarn v2

Describe the bug

A resolver supported by Yarn 1 is not supported by Yarn 2. I cannot personally parse the error well enough to understand what exactly isn’t supported.

To Reproduce

Yarn 1 works:

mkdir y1
cd y1
yarn init
yarn add @chakra-ui/core@1.0.0-next.6
# works \o/

Yarn 2 does not:

/tmp ❯❯❯ mkdir y2
/tmp ❯❯❯ cd y2
/t/y2 ❯❯❯ yarn init -2
yarn init v1.22.4
Resolving berry to a url...
Downloading https://github.com/yarnpkg/berry/raw/master/packages/berry-cli/bin/berry.js...
Saving it into /private/tmp/y2/.yarn/releases/yarn-berry.js...
Updating /private/tmp/y2/.yarnrc.yml...
Done!
{
  name: 'y2'
}
✨  Done in 3.87s.
/t/y2 ❯❯❯ yarn --version                                                                                                                                                                                                                                                                                     
2.1.1
/t/y2 ❯❯❯ yarn add @chakra-ui/core@1.0.0-next.6
➤ YN0000: ┌ Resolution step
➤ YN0001: │ Error: @types/styled-system__core@npm:@peduarte/styled-system__core isn't supported by any available resolver
    at i.getResolverByDescriptor (/private/tmp/y2/.yarn/releases/yarn-berry.js:2:266590)
    at i.bindDescriptor (/private/tmp/y2/.yarn/releases/yarn-berry.js:2:266044)
    at /private/tmp/y2/.yarn/releases/yarn-berry.js:2:288133
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Promise.all (index 18)
    at async ne.resolveEverything (/private/tmp/y2/.yarn/releases/yarn-berry.js:2:287456)
    at async /private/tmp/y2/.yarn/releases/yarn-berry.js:2:304371
    at async f.startTimerPromise (/private/tmp/y2/.yarn/releases/yarn-berry.js:2:313773)
    at async ne.install (/private/tmp/y2/.yarn/releases/yarn-berry.js:2:304005)
➤ YN0000: └ Completed in 0.71s
➤ YN0000: Failed with errors in 0.72s
Reproduction
const installPromise = packageJsonAndInstall({
dependencies: {
  [`@chakra-ui/core`]: `1.0.0-next.6`
}
});

await expect(installPromise).resolves.toBeTruthy();

Environment if relevant (please complete the following information):

  • OS: OSX 10.15.5
  • Node version 12.18.2
  • Yarn version 2.1.1

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 5
  • Comments: 24 (5 by maintainers)

Most upvoted comments

Why was this bug closed? This is still an issue today and not fixed. https://github.com/yarnpkg/berry/issues/5724

That warning is valid but you can just ignore it

@Amareis I’m unsure of a command line option that works, but I was able to workaround by:

  1. Adding to package.json:
"resolutions": {
  "@types/styled-system__core": "npm:@peduarte/styled-system__core@*"
}
  1. Then running yarn add without the version specified.

I am having a similar problem with yarn 3. adding the version doesn’t change nothing

I am trying to install a package, it is: @siedlerchr/types-ol-ext

yarn add -D @types/ol-ext@npm:@siedlerchr/types-ol-ext

but I get an error message, see below:

$ yarn add -D @types/ol-ext@npm:@siedlerchr/types-ol-ext
➤ YN0000: ┌ Resolution step
➤ YN0001: │ Error: @types/ol-ext@@npm:@siedlerchr/types-ol-ext isn't supported by any available resolver
    at Xc.getResolverByDescriptor (.....\yarn-3.0.2.cjs:294:5330)

➤ YN0000: └ Completed
➤ YN0000: Failed with errors in 0s 95ms

I tried the solution to (#1621 (comment)) put it in package.json as the following but still same problem

have some suggestions on how to fix this

oky, solution for this problem is: yarn add -D @types/ol-ext@npm:@siedlerchr/types-ol-ext@^2.1.0 or yarn add -D @types/ol-ext@npm:@siedlerchr/types-ol-ext@latest

This will likely hit a lot of ppl with the release of typescript v4.5, which recommends using lib replacement for a common scenario: https://www.npmjs.com/package/@types/web

The workaround worked for me, but took a while to find this thread.

BTW, yarn add "react@npm:@pika/react@*" works for me. Your shell probably expanded the * into whatever files are in your current directory, which then can’t be found as packages.

yarn add react@npm:@pika/react is failing too in 2.1.1.

 YN0000: ┌ Resolution step
➤ YN0001: │ Error: react@npm:@pika/react isn't supported by any available resolver
    at i.getResolverByDescriptor (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:266590)
    at i.bindDescriptor (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:266044)
    at Promise.all.s.map (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:288133)
➤ YN0000: └ Completed
➤ YN0000: Failed with errors in 0.14s

And yarn add react@npm:@pika/react@* failing too:

 YN0000: ┌ Resolution step
➤ YN0001: │ Error: Assertion failed: The package could not be found
    at C (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:290431)
    at I.w.push (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:292848)
    at I (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:293562)
    at E (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:290551)
    at I.B.push (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:293419)
    at I (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:294303)
    at E (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:290551)
    at project (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:294382)
    at ne.resolveEverything (/home/joe/work/ppldo-front/.yarn/releases/yarn-2.1.1.cjs:2:294409)
    at process._tickCallback (internal/process/next_tick.js:68:7)
➤ YN0000: └ Completed in 3.64s
➤ YN0000: Failed with errors in 3.65s

Yeah, it’s missing a range. Should be npm:@peduarte/styled-system__core@* or similar. We should relax the descriptor parsing.

This issue reproduces on master:

Error: expect(received).resolves.toBeTruthy()

Received promise rejected instead of resolved
Rejected to value: [Error: Command failed: /usr/bin/node /github/workspace/scripts/actions/../run-yarn.js install

➤ YN0000: ┌ Resolution step
::group::Resolution step
➤ YN0001: │ Error: @types/styled-system__core@npm:@peduarte/styled-system__core isn't supported by any available resolver
    at MultiResolver.getResolverByDescriptor (/github/workspace/packages/yarnpkg-core/sources/MultiResolver.ts:67:13)
    at MultiResolver.bindDescriptor (/github/workspace/packages/yarnpkg-core/sources/MultiResolver.ts:31:27)
    at /github/workspace/packages/yarnpkg-core/sources/Project.ts:795:34
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Promise.all (index 15)
    at Project.resolveEverything (/github/workspace/packages/yarnpkg-core/sources/Project.ts:772:35)
    at /github/workspace/packages/yarnpkg-core/sources/Project.ts:1464:7
    at StreamReport.startTimerPromise (/github/workspace/packages/yarnpkg-core/sources/StreamReport.ts:248:14)
    at Project.install (/github/workspace/packages/yarnpkg-core/sources/Project.ts:1447:5)
::endgroup::
➤ YN0000: └ Completed in 1.27s
➤ YN0000: Failed with errors in 1.27s
]
    at expect (/github/workspace/.yarn/cache/expect-npm-24.8.0-8c7640c562-0ac41999f0.zip/node_modules/expect/build/index.js:138:15)
    at module.exports (evalmachine.<anonymous>:8:7)
    at /github/workspace/.yarn/cache/@arcanis-sherlock-npm-1.0.38-d4f5e2dbf3-63f998598d.zip/node_modules/@arcanis/sherlock/lib/executeRepro.js:56:19
    at executeInTempDirectory (/github/workspace/.yarn/cache/@arcanis-sherlock-npm-1.0.38-d4f5e2dbf3-63f998598d.zip/node_modules/@arcanis/sherlock/lib/executeRepro.js:17:22)
    at Object.executeRepro (/github/workspace/.yarn/cache/@arcanis-sherlock-npm-1.0.38-d4f5e2dbf3-63f998598d.zip/node_modules/@arcanis/sherlock/lib/executeRepro.js:24:18)
    at ExecCommand.execute (/github/workspace/.yarn/cache/@arcanis-sherlock-npm-1.0.38-d4f5e2dbf3-63f998598d.zip/node_modules/@arcanis/sherlock/lib/commands/exec.js:25:59)
    at async ExecCommand.validateAndExecute (/github/workspace/.yarn/cache/clipanion-npm-2.0.0-rc.16-b9444aaf89-a57989414f.zip/node_modules/clipanion/lib/advanced/Command.js:161:26)
    at async Cli.run (/github/workspace/.yarn/cache/clipanion-npm-2.0.0-rc.16-b9444aaf89-a57989414f.zip/node_modules/clipanion/lib/advanced/Cli.js:74:24)
    at async Cli.runExit (/github/workspace/.yarn/cache/clipanion-npm-2.0.0-rc.16-b9444aaf89-a57989414f.zip/node_modules/clipanion/lib/advanced/Cli.js:83:28)