twenty
twenty copied to clipboard
Yarn installation error YN0001 on Ubuntu 22.04 with Node 18
Bug Description
When I try to clone & install this repo, I get this YN0001 error (both locally and on a fresh VPS instance).
System environment:
- Ubuntu 22.04
- Node version 18.16.1
- Yarn version 4.0.2
I made sure the node_modules folder is removed and to clean the yarn cache (yarn cache clean --all). I also tried with a fresh install on an EC2 Ubuntu 22.04 instance, but alas...
Example:
$ yarn
➤ YN0000: · Yarn 4.0.2
➤ YN0000: ┌ Project validation
➤ YN0057: │ twenty-server: Resolutions field will be ignored
➤ YN0000: └ Completed
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed in 0s 446ms
➤ YN0000: ┌ Post-resolution validation
➤ YN0060: │ @nestjs/common is listed by your project with version 9.4.3, which doesn't satisfy what @graphql-yoga/nestjs (p98bf8) and other dependencies request (^10.0.0).
➤ YN0060: │ @nestjs/core is listed by your project with version 9.4.3, which doesn't satisfy what @graphql-yoga/nestjs (p82045) and other dependencies request (^10.0.0).
➤ YN0060: │ @nestjs/graphql is listed by your project with version 12.0.8, which doesn't satisfy what @nestjs/apollo (p30247) requests (^11.0.0).
➤ YN0060: │ @ptc-org/nestjs-query-core is listed by your project with version 4.3.3, which doesn't satisfy what @ptc-org/nestjs-query-typeorm (p52631) requests (4.2.0).
➤ YN0060: │ react is listed by your project with version 18.2.0, which doesn't satisfy what @stoplight/elements (p1eae0) and other dependencies request (^16.14.0 || ^17.0.0).
➤ YN0060: │ react-dom is listed by your project with version 18.2.0, which doesn't satisfy what graphiql (pfaaa7) and other dependencies request (^16.8.0 || ^17.0.0).
➤ YN0060: │ vite is listed by your project with version 5.0.11, which doesn't satisfy what @storybook/react-vite (p957aa) and other dependencies request (^4.1.0-beta.0).
➤ YN0002: │ twenty-docs@workspace:packages/twenty-docs doesn't provide @types/react (pf00da), requested by @mdx-js/react.
➤ YN0002: │ twenty-docs@workspace:packages/twenty-docs doesn't provide prop-types (p14d31), requested by iframe-resizer-react.
➤ YN0002: │ twenty-docs@workspace:packages/twenty-docs doesn't provide webpack (p63771), requested by docusaurus-node-polyfills.
➤ YN0002: │ twenty-docs@workspace:packages/twenty-docs doesn't provide webpack (pa0ca9), requested by raw-loader.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide @storybook/components (p47737), requested by storybook-addon-cookie.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide @storybook/components (pc32c8), requested by storybook-addon-pseudo-states.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide @storybook/core-events (p6e7ea), requested by storybook-addon-pseudo-states.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide @storybook/manager-api (p9e331), requested by storybook-addon-pseudo-states.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide @storybook/manager-api (pecb79), requested by storybook-addon-cookie.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide @storybook/preview-api (p81df7), requested by storybook-addon-cookie.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide @storybook/preview-api (pdb421), requested by storybook-addon-pseudo-states.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide @storybook/theming (pb96ee), requested by storybook-addon-pseudo-states.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide @storybook/types (p6a830), requested by storybook-addon-cookie.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide esbuild (p0343c), requested by esbuild-plugin-svgr.
➤ YN0002: │ twenty-front@workspace:packages/twenty-front doesn't provide graphql-tag (pb3116), requested by @graphql-codegen/typescript-react-apollo.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide @apollo/gateway (p1fa29), requested by @ptc-org/nestjs-query-graphql.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide @types/inquirer (pe37ea), requested by nest-commander.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide express (p5208d), requested by apollo-server-express.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide jest (p3bedc), requested by jest-mock-extended.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide reflect-metadata (p2a675), requested by @nestjs/common.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide reflect-metadata (p307a8), requested by @ptc-org/nestjs-query-typeorm.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide reflect-metadata (p5fe65), requested by @nestjs/typeorm.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide reflect-metadata (p96930), requested by @nestjs/core.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide reflect-metadata (paaa47), requested by @nestjs/graphql.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide reflect-metadata (pb1a3c), requested by @nestjs/axios.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide reflect-metadata (pbb849), requested by @nestjs/terminus.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide reflect-metadata (pd726f), requested by @nestjs/config.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide ts-morph (p89cd4), requested by @ptc-org/nestjs-query-graphql.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide typescript (p39033), requested by @nestjs/schematics.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide typescript (p4aa1c), requested by jest-mock-extended.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide typescript (pd4675), requested by ts-loader.
➤ YN0002: │ twenty-server@workspace:packages/twenty-server doesn't provide webpack (pebdad), requested by ts-loader.
➤ YN0002: │ twenty-website@workspace:packages/twenty-website doesn't provide @typescript-eslint/parser (p286dc), requested by @typescript-eslint/eslint-plugin.
➤ YN0002: │ twenty-website@workspace:packages/twenty-website doesn't provide @typescript-eslint/parser (pe97ac), requested by @nx/eslint-plugin.
➤ YN0002: │ twenty-website@workspace:packages/twenty-website doesn't provide prop-types (p51442), requested by @nivo/core.
➤ YN0002: │ twenty@workspace:. doesn't provide @typescript-eslint/parser (p8a63a), requested by @nx/eslint-plugin.
➤ YN0086: │ 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
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 1s 643ms
➤ YN0000: ┌ Link step
➤ YN0001: │ Error: While persisting /home/laurens/.yarn/berry/cache/tslib-npm-2.6.2-4fc8c068d9-10c0.zip/node_modules/tslib/ -> /media/laurens/CODE/others/twenty/packages/twenty-server/node_modules/@nestjs/graphql/node_modules/@graphql-tools/utils/node_modules/tslib EACCES: permission denied, mkdir '/media/laurens/CODE/others/twenty/packages/twenty-server/node_modules/@nestjs'
➤ YN0000: └ Completed in 0s 573ms
➤ YN0000: · Failed with errors in 2s 748ms
Expected behavior
yarn installation should succeed locally.
Technical inputs
Hey @vankeer I think the interesting part in the log you provided is:
➤ YN0001: │ Error: While persisting /home/laurens/.yarn/berry/cache/tslib-npm-2.6.2-4fc8c068d9-10c0.zip/node_modules/tslib/ -> /media/laurens/CODE/others/twenty/packages/twenty-server/node_modules/@nestjs/graphql/node_modules/@graphql-tools/utils/node_modules/tslib EACCES: permission denied, mkdir '/media/laurens/CODE/others/twenty/packages/twenty-server/node_modules/@nestjs'
It seems like your current user doesn't have the necessary permissions.
I'm not very good with permissions but probably if you do something like sudo chmod -R 777 in the twenty folder it would solve it? Someone that has more advanced knowledge might suggest something more elegant than brut forcing 777 everywhere haha :)
Closing since it's been 2 days but let us know if you still think something is broken / the above doesn't work