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

Unable to use Yarn 2+ #5662

Open
larrifax opened this issue Apr 7, 2022 · 6 comments
Open

Unable to use Yarn 2+ #5662

larrifax opened this issue Apr 7, 2022 · 6 comments
Labels
bug-pending-triage Reported bug, pending triage to confirm.

Comments

@larrifax
Copy link

larrifax commented Apr 7, 2022

Issue Description

I'm trying to use yarn as my package manager, but ns build android fails with the following error: Command failed: yarn config get registry.

Seems like that config value doesn't exist anymore in Yarn 2+. It may have been renamed to the following:

❯ yarn config get npmRegistryServer
https://registry.yarnpkg.com

This seems to be the place where the command is ran:

const registry = await this.$childProcess.exec(`yarn config get registry`);

Reproduction

Steps I've taken:

  1. corepack enable
  2. yarn set version berry
  3. yarn install
  4. Removed package-lock.json
  5. ns package-manager set yarn
  6. ns clean
  7. ns build android

Relevant log output (if applicable)

Build output:

❯ ns build android
(node:28069) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /workspaces/way-app/node_modules/vuex/package.json.
Update this package.json to use a subpath pattern like "./*".
(Use `node --trace-deprecation ...` to show where the warning was created)
Preparing project...
(node:28118) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /workspaces/way-app/node_modules/vuex/package.json.
Update this package.json to use a subpath pattern like "./*".
(Use `node --trace-deprecation ...` to show where the warning was created)
assets by path assets/flags/*.png 53.2 KiB
  asset assets/flags/bn.png 847 bytes [compared for emit] [from: app/assets/flags/bn.png] [copied]
  + 195 assets
assets by path fonts/ 6.48 MiB 41 assets
assets by path assets/css/ 147 KiB
  assets by path assets/css/*.scss 17.1 KiB 7 assets
  assets by path assets/css/*.css 130 KiB 2 assets
assets by path *.js 13.5 MiB
  asset vendor.js 11.5 MiB [compared for emit] (name: vendor) (id hint: defaultVendor)
  asset bundle.js 2.06 MiB [compared for emit] (name: bundle)
  asset runtime.js 13.2 KiB [compared for emit] (name: runtime)
assets by path assets/json/*.json 186 KiB
  asset assets/json/LottieSpinningCar.json 92.9 KiB [compared for emit] [from: app/assets/json/LottieSpinningCar.json] [copied]
  asset assets/json/LottieTest.json 92.9 KiB [compared for emit] [from: app/assets/json/LottieTest.json] [copied]
asset assets/images/NativeScript-Vue.png 8.22 KiB [compared for emit] [from: app/assets/images/NativeScript-Vue.png] [copied]
Entrypoint bundle 13.5 MiB = runtime.js 13.2 KiB vendor.js 11.5 MiB bundle.js 2.06 MiB
runtime modules 2.84 KiB 9 modules
orphan modules 542 bytes [orphan] 7 modules
modules by path ./node_modules/ 4.33 MiB
  javascript modules 4.07 MiB 510 modules
  json modules 273 KiB
    modules by path ./node_modules/mdn-data/css/*.json 242 KiB 3 modules
    modules by path ./node_modules/css-tree/ 30.7 KiB 2 modules
modules by path ./app/ 559 KiB 437 modules
external "~/package.json" 42 bytes [optional] [built] [code generated]
webpack 5.71.0 compiled successfully in 7030 ms
Webpack compilation complete.
(node:28069) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /workspaces/way-app/node_modules/@nativescript/core/node_modules/tslib/package.json.
Update this package.json to use a subpath pattern like "./*".
Command failed: yarn config get registry


### Environment

Using Yarn 3.2.0
Using Node 16.14.0

### Please accept these terms

- [X] I have searched the [existing issues](https://github.com/NativeScript/nativescript-cli/issues) as well as [StackOverflow](https://stackoverflow.com/questions/tagged/nativescript) and this has not been posted before
- [X] This is a bug report
- [X] I agree to follow this project's [Code of Conduct](https://github.com/NativeScript/NativeScript/blob/master/tools/notes/CONTRIBUTING.md#coc)
@larrifax larrifax added the bug-pending-triage Reported bug, pending triage to confirm. label Apr 7, 2022
@farfromrefug
Copy link
Contributor

@larrifax yes there are more places where the cli is not compatible with yarn 2+
@rigor789 i can fix it the question is do we stop supporting yarn 1 (which i would prever) Otherwise we need a technique for each command to know if we are using yarn 1 or 2+

@rigor789
Copy link
Member

We would need to treat it as a separate package manager like npm, pnpm, yarn, yarn2 and stay backwards compatible, since yarn 1 is still more widely used than yarn 2...

Should actually revive this effort #5379 and just add yarn2 as a new package manager option...

@farfromrefug
Copy link
Contributor

@rigor789 ok do you want me to add yarn2 now with a PR? or should i wait for the refactoring?/

@rigor789
Copy link
Member

If it's not too complicated you can add it now, only concerned about it because there are many services that deal with package management, so will require quite a few changes across the board...

@farfromrefug
Copy link
Contributor

@rigor789 #5701

@farfromrefug
Copy link
Contributor

@larrifax Pr pending #5701

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug-pending-triage Reported bug, pending triage to confirm.
Projects
None yet
Development

No branches or pull requests

3 participants