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 [email protected] --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)
Are you interested in working on this?
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)createcommand 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:
They important line is near the end:
YN0009 means yarn couldn't build a package (source: https://yarnpkg.com/advanced/error-codes/#yn0009---build_failed). Opening the log file there:
Workarounds
yarn installand it should completeyarn config set nodeLinker "node-modules" -H, then try again and it should workRelated issues:
How do we reproduce the bug?
Make your global version of yarn v3. I do it via corepack:
Then just run
yarn create redwood-appand it should fail.What's your environment? (If it applies)
Are you interested in working on this?