纱线错误未知的工作空间-为什么“ nohoist”包装的“纱线工作空间”失败?

时间:2020-03-29 06:11:15

标签: angular angular-cli yarnpkg lerna yarn-workspaces

问题

运行yarn workspace <nohoisted-package> start会得到error Unknown workspace "twitter-digester-frontend".

详细信息

package.json

{
  "name": "x",
  "private": true,
  "version": "1.0.0",
  "workspaces": {
    "packages": ["x-backend"],
    "nohoist": ["x-frontend"]
  },
  "scripts": {
    "backend": "yarn workspace x-backend",
    "frontend": "yarn workspace x-frontend"
  }
}

命令

  • yarn workspace x-frontend start失败,并出现...Unknown workspace...以上的错误。
  • 尽管
  • yarn workspace x-backend start有效(即,适用于 non -nohoist ed程序包)。

问题

yarn workspace版本的软件包为什么nohoist失败?

我不太了解nohoist。我主要使用它是因为x-frontend中的Angular CLI在不使用node_modules时无法读取nohoist。我假设这只是不要符号链接软件包-这就是为什么我没有理由yarn workspace <nohoisted-package> <script>不起作用的原因。

1 个答案:

答案 0 :(得分:0)

首先扎根package.json的第一件事应该包含工作空间目录的数组

{
...
 "workspaces": [
    "example",
    "my-pkg-js"
  ]
}

要检查的第二件事是何时:yarn workspace <package> start <package>代表package目录的package.js中的name,例如:

yarn workspace my-pkg-js start

my-pkg-js目录中,package.json应该类似于:

{
...
 "name": "my-pkg-js"
}