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 摘要。