问题
运行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
有效(即,适用于非-nohoist
ed包(
问题
为什么yarn workspace
在使用nohoist
ed包时失败?
我不完全理解nohoist
。我之所以使用它,主要是因为x-frontend
中的Angular CLI在不使用nohoist
时无法读取node_modules
。我认为这只意味着不符号链接包——这就是为什么我看不出yarn workspace <nohoisted-package> <script>
不工作的原因。
根package.json
应该包含一个工作区数组的第一件事:
{
...
"workspaces": [
"example",
"my-pkg-js"
]
}
第二件需要检查的事情是,当您运行yarn workspace <workspace> start
时,<workspace>
代表包目录中package.json
中的name
。例如:
yarn workspace package-name start
my-pkg-js/package.json
文件中的name属性应该类似于:
{
...
"name": "package-name"
}