Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug?]: yarn create redwood-app fails using yarn 3 #8164

Closed
1 task done
jtoar opened this issue Apr 28, 2023 · 1 comment · Fixed by #8171, #8258 or #8261
Closed
1 task done

[Bug?]: yarn create redwood-app fails using yarn 3 #8164

jtoar opened this issue Apr 28, 2023 · 1 comment · Fixed by #8171, #8258 or #8261
Labels
bug/confirmed We have confirmed this is a bug

Comments

@jtoar
Copy link
Contributor

jtoar commented Apr 28, 2023

What's not working?

My global version of yarn is the latest (3.5 at this time). I prefer it to yarn 1 because it's faster and maintained, and now that corepack is a thing it's very easy to enable.

That means when I run yarn create redwood-app, the version of yarn running the (now undocumented) create command is 3.5, not 1.22.19, or whatever the latest version of the v1 release line is.

This leads to a problem during the "Install node modules" step:

dom@evaM1 ~/p/redwood> yarn create redwood-app redwood-app
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed in 1s 273ms
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed
➤ YN0000: ┌ Link step
➤ YN0000: │ ESM support for PnP uses the experimental loader API and is therefore experimental
➤ YN0000: └ Completed
➤ YN0000: Done with warnings in 1s 401ms

------------------------------------------------------------------
                🌲⚡️ Welcome to RedwoodJS! ⚡️🌲
------------------------------------------------------------------
✔ Compatibility checks passed
✔ Select your preferred coding language · TypeScript
✔ Do you want to initialize a git repo? · no / Yes
✔ Project files created
┌ ⚠ Error: Couldn't install node modules ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                                                                                                                                                                                                           │
│   We could not install node modules via 'yarn install'. Please see below for the full error message.                                                                                                                                      │
│                                                                                                                                                                                                                                           │
│   Error: Command failed with exit code 1: yarn install                                                                                                                                                                                    │
│   ➤ YN0000: ┌ Resolution step                                                                                                                                                                                                             │
│   ➤ YN0061: │ stable@npm:0.1.8 is deprecated: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN:                                                              │
│   https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility                                                                                                                       │
│   ➤ YN0032: │ fsevents@npm:2.3.2: Implicit dependencies on node-gyp are discouraged                                                                                                                                                       │
│   ➤ YN0061: │ chokidar@npm:2.1.8 is deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies                                                                                │
│   ➤ YN0061: │ fsevents@npm:1.2.13 is deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2                                                                                                       │
│   ➤ YN0061: │ source-map-resolve@npm:0.5.3 is deprecated: See https://github.com/lydell/source-map-resolve#deprecated                                                                                                                     │
│   ➤ YN0061: │ querystring@npm:0.2.0 is deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.                                                                                         │
│   ➤ YN0032: │ nan@npm:2.17.0: Implicit dependencies on node-gyp are discouraged                                                                                                                                                           │
│   ➤ YN0061: │ resolve-url@npm:0.2.1 is deprecated: https://github.com/lydell/resolve-url#deprecated                                                                                                                                       │
│   ➤ YN0061: │ source-map-url@npm:0.4.1 is deprecated: See https://github.com/lydell/source-map-url#deprecated                                                                                                                             │
│   ➤ YN0061: │ urix@npm:0.1.0 is deprecated: Please see https://github.com/lydell/urix#deprecated                                                                                                                                          │
│   ➤ YN0061: │ @npmcli/move-file@npm:2.0.1 is deprecated: This functionality has been moved to @npmcli/fs                                                                                                                                  │
│   ➤ YN0032: │ evp_bytestokey@npm:1.0.3: Implicit dependencies on node-gyp are discouraged                                                                                                                                                 │
│   ➤ YN0061: │ sane@npm:4.1.0 is deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added                                                                              │
│   ➤ YN0061: │ trim@npm:0.0.1 is deprecated: Use String.prototype.trim() instead                                                                                                                                                           │
│   ➤ YN0061: │ @npmcli/move-file@npm:1.1.2 is deprecated: This functionality has been moved to @npmcli/fs                                                                                                                                  │
│   ➤ YN0061: │ uuid@npm:3.4.0 is deprecated: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.   │
│   ➤ YN0032: │ @parcel/watcher@npm:2.1.0: Implicit dependencies on node-gyp are discouraged                                                                                                                                                │
│   ➤ YN0032: │ node-addon-api@npm:3.2.1: Implicit dependencies on node-gyp are discouraged                                                                                                                                                 │
│   ➤ YN0002: │ @graphql-tools/graphql-tag-pluck@npm:7.5.2 [e7660] doesn't provide @babel/core (p68360), requested by @babel/plugin-syntax-import-assertions                                                                                │
│   ➤ YN0002: │ @redwoodjs/api-server@npm:5.0.1 doesn't provide @babel/core (pdc87f), requested by @babel/plugin-transform-runtime                                                                                                          │
│   ➤ YN0002: │ @redwoodjs/cli@npm:5.0.1 doesn't provide react (pf9993), requested by @redwoodjs/prerender                                                                                                                                  │
│   ➤ YN0002: │ @redwoodjs/cli@npm:5.0.1 doesn't provide react-dom (p636a0), requested by @redwoodjs/prerender                                                                                                                              │
│   ➤ YN0002: │ @redwoodjs/core@npm:5.0.1 doesn't provide @babel/eslint-parser (p55302), requested by @babel/eslint-plugin                                                                                                                  │
│   ➤ YN0002: │ @redwoodjs/core@npm:5.0.1 doesn't provide eslint (p8d6e0), requested by @babel/eslint-plugin                                                                                                                                │
│   ➤ YN0002: │ @redwoodjs/eslint-config@npm:5.0.1 doesn't provide babel-plugin-module-resolver (p43ce4), requested by eslint-import-resolver-babel-module                                                                                  │
│   ➤ YN0002: │ @redwoodjs/internal@npm:5.0.1 doesn't provide @babel/core (pb9af5), requested by @babel/plugin-transform-typescript                                                                                                         │
│   ➤ YN0002: │ @redwoodjs/internal@npm:5.0.1 doesn't provide @babel/core (p2b9ec), requested by @babel/register                                                                                                                            │
│   ➤ YN0002: │ @redwoodjs/internal@npm:5.0.1 doesn't provide @babel/core (p7a5dd), requested by babel-plugin-graphql-tag                                                                                                                   │
│   ➤ YN0002: │ @redwoodjs/internal@npm:5.0.1 doesn't provide @babel/core (p7191e), requested by babel-plugin-polyfill-corejs3                                                                                                              │
│   ➤ YN0002: │ @redwoodjs/internal@npm:5.0.1 doesn't provide @types/node (p1a22a), requested by ts-node                                                                                                                                    │
│   ➤ YN0002: │ @redwoodjs/internal@npm:5.0.1 doesn't provide graphql-tag (pc179f), requested by @graphql-codegen/typescript-react-apollo                                                                                                   │
│   ➤ YN0002: │ @redwoodjs/internal@npm:5.0.1 doesn't provide graphql-tag (p3f699), requested by babel-plugin-graphql-tag                                                                                                                   │
│   ➤ YN0002: │ @redwoodjs/prerender@npm:5.0.1 [16c4a] doesn't provide prop-types (pb5323), requested by @redwoodjs/web                                                                                                                     │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide @babel/core (p4d1dc), requested by @storybook/addon-essentials                                                                                                                 │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide @babel/core (p43015), requested by babel-jest                                                                                                                                  │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide @babel/core (p19440), requested by babel-plugin-inline-react-svg                                                                                                               │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide @testing-library/dom (pb349e), requested by @testing-library/user-event                                                                                                        │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide prop-types (pf6e2d), requested by @redwoodjs/web                                                                                                                               │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react (pe50d1), requested by @redwoodjs/router                                                                                                                                 │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react (p05696), requested by @redwoodjs/web                                                                                                                                    │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react (p9f174), requested by @storybook/builder-webpack5                                                                                                                       │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react (pd2a92), requested by @storybook/manager-webpack5                                                                                                                       │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react (pffc87), requested by @storybook/react                                                                                                                                  │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react (p6644b), requested by @testing-library/react                                                                                                                            │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react-dom (p4cd8e), requested by @redwoodjs/router                                                                                                                             │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react-dom (pfdd21), requested by @redwoodjs/web                                                                                                                                │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react-dom (pbfa29), requested by @storybook/builder-webpack5                                                                                                                   │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react-dom (p644e1), requested by @storybook/manager-webpack5                                                                                                                   │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react-dom (p4754a), requested by @storybook/react                                                                                                                              │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide react-dom (pb60bf), requested by @testing-library/react                                                                                                                        │
│   ➤ YN0002: │ @redwoodjs/testing@npm:5.0.1 doesn't provide require-from-string (p31a21), requested by @storybook/react                                                                                                                    │
│   ➤ YN0002: │ @storybook/addon-docs@npm:6.5.17-alpha.0 [680c4] doesn't provide @babel/core (p84821), requested by @babel/preset-env                                                                                                       │
│   ➤ YN0002: │ @storybook/addon-docs@npm:6.5.17-alpha.0 [680c4] doesn't provide @babel/core (p51879), requested by @babel/plugin-transform-react-jsx                                                                                       │
│   ➤ YN0002: │ @storybook/addon-docs@npm:6.5.17-alpha.0 [680c4] doesn't provide @babel/core (p2006a), requested by babel-loader                                                                                                            │
│   ➤ YN0002: │ @storybook/addon-docs@npm:6.5.17-alpha.0 [680c4] doesn't provide webpack (pa8b4b), requested by babel-loader                                                                                                                │
│   ➤ YN0002: │ @storybook/docs-tools@npm:6.5.17-alpha.0 doesn't provide react (pabec6), requested by @storybook/store                                                                                                                      │
│   ➤ YN0002: │ @storybook/docs-tools@npm:6.5.17-alpha.0 doesn't provide react-dom (p7e5d2), requested by @storybook/store                                                                                                                  │
│   ➤ YN0002: │ @storybook/mdx1-csf@npm:0.0.1 doesn't provide @babel/core (pfc8fe), requested by @babel/preset-env                                                                                                                          │
│   ➤ YN0002: │ @storybook/telemetry@npm:6.5.17-alpha.0 doesn't provide react (pdc9aa), requested by @storybook/core-common                                                                                                                 │
│   ➤ YN0002: │ @storybook/telemetry@npm:6.5.17-alpha.0 doesn't provide react-dom (p45c00), requested by @storybook/core-common                                                                                                             │
│   ➤ YN0002: │ react-hot-toast@npm:2.4.0 [0686e] doesn't provide csstype (p9d39f), requested by goober                                                                                                                                     │
│   ➤ YN0002: │ react-hot-toast@npm:2.4.0 [3c661] doesn't provide csstype (p8e264), requested by goober                                                                                                                                     │
│   ➤ YN0002: │ react-hot-toast@npm:2.4.0 [74aa3] doesn't provide csstype (pba3e5), requested by goober                                                                                                                                     │
│   ➤ YN0002: │ web@workspace:web doesn't provide graphql (p442e9), requested by @redwoodjs/forms                                                                                                                                           │
│   ➤ YN0060: │ web@workspace:web provides react (pe96bb) with version 18.2.0, which doesn't satisfy what @redwoodjs/router and some of its descendants request                                                                             │
│   ➤ YN0060: │ web@workspace:web provides react-dom (p29bad) with version 18.2.0, which doesn't satisfy what @redwoodjs/router and some of its descendants request                                                                         │
│   ➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code                                                                           │
│   ➤ YN0000: └ Completed in 18s 357ms                                                                                                                                                                                                      │
│   ➤ YN0000: ┌ Fetch step                                                                                                                                                                                                                  │
│   ➤ YN0000: └ Completed in 1s 84ms                                                                                                                                                                                                        │
│   ➤ YN0000: ┌ Link step                                                                                                                                                                                                                   │
│   ➤ YN0007: │ core-js@npm:3.30.1 must be built because it never has been before or the last one failed                                                                                                                                    │
│   ➤ YN0007: │ esbuild@npm:0.17.18 must be built because it never has been before or the last one failed                                                                                                                                   │
│   ➤ YN0007: │ core-js-pure@npm:3.30.1 must be built because it never has been before or the last one failed                                                                                                                               │
│   ➤ YN0007: │ msw@npm:1.2.1 [680c4] must be built because it never has been before or the last one failed                                                                                                                                 │
│   ➤ YN0007: │ fsevents@patch:fsevents@npm%3A1.2.13#~builtin<compat/fsevents>::version=1.2.13&hash=d11327 must be built because it never has been before or the last one failed                                                            │
│   ➤ YN0007: │ @prisma/client@npm:4.13.0 [fef9c] must be built because it never has been before or the last one failed                                                                                                                     │
│   ➤ YN0007: │ @prisma/engines@npm:4.13.0 must be built because it never has been before or the last one failed                                                                                                                            │
│   ➤ YN0007: │ @parcel/watcher@npm:2.1.0 must be built because it never has been before or the last one failed                                                                                                                             │
│   ➤ YN0007: │ @apollo/protobufjs@npm:1.2.7 must be built because it never has been before or the last one failed                                                                                                                          │
│   ➤ YN0009: │ esbuild@npm:0.17.18 couldn't be built successfully (exit code 1, logs can be found here: /private/var/folders/dt/yks4v5m53k114qxgz6jh4pgw0000gn/T/xfs-e0ca41cb/build.log)                                                   │
│   ➤ YN0007: │ prisma@npm:4.13.0 must be built because it never has been before or the last one failed                                                                                                                                     │
│   ➤ YN0000: └ Completed in 13s 256ms                                                                                                                                                                                                      │
│   ➤ YN0000: Failed with errors in 32s 942ms                                                                                                                                                                                               │
│                                                                                                                                                                                                                                           │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

They important line is near the end:

│   ➤ YN0009: │ esbuild@npm:0.17.18 couldn't be built successfully (exit code 1, logs can be found here: /private/var/folders/dt/yks4v5m53k114qxgz6jh4pgw0000gn/T/xfs-e0ca41cb/build.log)                                                   │

YN0009 means yarn couldn't build a package (source: https://yarnpkg.com/advanced/error-codes/#yn0009---build_failed). Opening the log file there:

   1   │ # This file contains the result of Yarn building a package (esbuild@npm:0.17.18)
   2   │ # Script name: postinstall
   3   │ 
   4   │ node:internal/errors:867
   5   │   const err = new Error(message);
   6   │               ^
   7   │ 
   8   │ Error: Command failed: /Users/dom/.nvm/versions/node/v18.16.0/bin/node /Users/dom/prjcts/redwood/redwood-app/node_modules/esbuild/bin/esbuild --version
   9   │ node:internal/errors:490
  10   │     ErrorCaptureStackTrace(err);
  11   │     ^
  12   │ 
  13   │ TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension "" for /Users/dom/prjcts/redwood/redwood-app/node_modules/esbuild/bin/esbuild
  14   │     at new NodeError (node:internal/errors:399:5)
  15   │     at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:79:11)
  16   │     at defaultGetFormat (node:internal/modules/esm/get_format:121:38)
  17   │     at defaultLoad (node:internal/modules/esm/load:81:20)
  18   │     at nextLoad (node:internal/modules/esm/loader:163:28)
  19   │     at load$1 (file:///private/var/folders/dt/yks4v5m53k114qxgz6jh4pgw0000gn/T/xfs-8e80dfb0/dlx-22809/.pnp.loader.mjs:1455:12)
  20   │     at nextLoad (node:internal/modules/esm/loader:163:28)
  21   │     at ESMLoader.load (node:internal/modules/esm/loader:605:26)
  22   │     at ESMLoader.moduleProvider (node:internal/modules/esm/loader:457:22)
  23   │     at new ModuleJob (node:internal/modules/esm/module_job:64:26) {
  24   │   code: 'ERR_UNKNOWN_FILE_EXTENSION'
  25   │ }

Workarounds

  • cd into the directory and run yarn install and it should complete
  • change your global config (contributed by Rui): yarn config set nodeLinker "node-modules" -H, then try again and it should work

Related issues:

How do we reproduce the bug?

Make your global version of yarn v3. I do it via corepack:

corepack enable
corepack prepare yarn@3.5.0 --activate
# confirm it's v3; go to your home directory or something, just outside a redwood app
cd ~
yarn --version

Then just run yarn create redwood-app and it should fail.

What's your environment? (If it applies)

n/a

Are you interested in working on this?

  • I'm interested in working on this
@jtoar jtoar added bug/needs-info More information is needed for reproduction bug/confirmed We have confirmed this is a bug and removed bug/needs-info More information is needed for reproduction labels Apr 28, 2023
@jtoar jtoar linked a pull request Apr 28, 2023 that will close this issue
@jtoar jtoar reopened this Apr 29, 2023
@jtoar
Copy link
Contributor Author

jtoar commented Apr 29, 2023

#8171 doesn't seem to have worked so reopening

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug/confirmed We have confirmed this is a bug
Projects
None yet
1 participant