NativeScript / NativeScript/nativescript-cli

Unable to use Yarn 2+

未关闭
#5,662 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

bug-pending-triage
主要语言
JavaScript
星标
1.1k
派生
204
平均合并
1 天 9 小时
30 天内合并 PR
8

描述

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:
https://github.com/NativeScript/nativescript-cli/blob/bb3a6965792cc565ab6d516c30a640ac98313ee7/lib/yarn-package-manager.ts#L127

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)

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 lib/yarn-package-manager.ts 中第 127 行附近引用的命令开始,然后使用列出的 NativeScript 设置和 ns build android 在 Yarn 3.2.0 中重现。检查涉及的 Yarn 配置查找,并验证 Android 构建能够完成且不会出现报告的命令失败。

由索引模型根据 Issue 内容生成。

评估

技术栈
android, javascript, node.js
领域
build-system, cli, mobile-dev
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
停滞
描述清晰度
描述清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。