为什么在yarn工作空间的子包中找不到tsc命令?

Tre*_*red 5 yarn-v2

我使用的是纱线版本 3.2.4。我的根目录中有一个 package.json ,如下所示:

{
  "scripts": {
    "compile": "tsc --build",
  },
  "devDependencies": {
    "typescript": "^4.8.4"
  }
}
Run Code Online (Sandbox Code Playgroud)

在packages/foo 中,我有这个package.json

{
  "scripts": {
    "compile": "tsc --build"
  },
  "devDependencies": {
  }
}
Run Code Online (Sandbox Code Playgroud)

当我yarn compile从根运行时,tsc 编译正确。但这失败了:

cd packages/foo
yarn compile
Run Code Online (Sandbox Code Playgroud)

command not found: tsc

如果我更改子包以包含 typescript 作为 devDependency 那么它就可以工作。

为什么 devDependency 不继承自父 package.json?