如何使用 yarn 2 (berry) 设置工作区存储库

Posted

技术标签:

【中文标题】如何使用 yarn 2 (berry) 设置工作区存储库【英文标题】:How to setup a workspace repository with yarn 2 (berry) 【发布时间】:2021-09-05 15:58:15 【问题描述】:

在使用文档和教程几个小时后,我仍然无法运行我的项目。

如何将核心包添加到lambda包中?

示例存储库:https://github.com/benkeil/yarn-berry-workspaces

yarn workspace lambda add core 之后,他向 lambda 包添加了一个依赖项,但 IntelliJ 说它找不到该模块。

而且我无法启动它:src/index.ts:1:21 - error TS2307: Cannot find module 'core' or its corresponding type declarations.

【问题讨论】:

【参考方案1】:

yarn workspace lambda add core 应该这样做,但您的package.json 必须更正,它引用了不存在的文件。

如下更改https://github.com/benkeil/yarn-berry-workspaces/blob/main/code/core/package.json

  "name": "core",
  "version": "1.0.0",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "scripts": 
    "clean": "rm -rf dist",
    "prebuild": "yarn clean",
    "build": "tsc",
    "prebuild:watch": "yarn prebuild",
    "build:watch": "tsc --watch"
  ,
  "devDependencies": 
    "typescript": "^4.3.4"
  


(注意更改的 "main""types" 条目)

yarn-berry-workspaces/blob/main/code/core/ 文件夹中,运行tsc

重启IDE

【讨论】:

在我的正常项目中,我没有并且想要这些桶文件。在没有这些字段的情况下,使用 yarn v1 或 npm 一切正常。无论如何,添加这些字段没有任何影响。

以上是关于如何使用 yarn 2 (berry) 设置工作区存储库的主要内容,如果未能解决你的问题,请参考以下文章

yarn berry run 如何运行已安装的包

使用 yarn berry 时将 .yarn 目录提交到 git

yarn berry foreach 工作区未按 package.json 中指定的顺序构建包

在 Yarn 2 (berry) 中审计依赖项的最佳方法是啥?

我如何直接将“node_modules”与“yarn berry”一起使用

$ yarn install 导致找不到模块 yarn-berry.js