如何使用 Yarn 定位单个工作区?
How to target a single workspace with Yarn?
我有这样设置的工作区
"private": true,
"workspaces": {
"packages": [
"packages/*"
],
"nohoist": [
"**/firebase-admin",
"**/firebase-admin/**",
"**/firebase-functions",
"**/firebase-functions/**"
]
},
在我的包目录中,我有一个文件夹 common
,其中有一个文件夹 package.json
等
当我执行 yarn workspaces run build
时,它会触发所有工作区的构建脚本。但是,如果我尝试使用像 yarn workspace common build
这样的 yarn workspace
命令来定位一个特定的工作区,我会不断收到错误消息:
error Unknown workspace "common".
这是我从 yarn workspaces info
得到的输出:
yarn workspaces v1.17.0
{
"@gemini/cli": {
"location": "packages/cli",
"workspaceDependencies": [],
"mismatchedWorkspaceDependencies": []
},
"@gemini/cloud-functions": {
"location": "packages/cloud-functions",
"workspaceDependencies": [
"@gemini/common"
],
"mismatchedWorkspaceDependencies": []
},
"@gemini/common": {
"location": "packages/common",
"workspaceDependencies": [],
"mismatchedWorkspaceDependencies": []
},
"@gemini/tools": {
"location": "packages/tools",
"workspaceDependencies": [],
"mismatchedWorkspaceDependencies": []
}
}
我曾尝试将名称更改为 package/common 或 @gemini/common 但没有成功。
我在这里错过了什么?
当你想在特定工作区调用命令时,你应该使用在其 package.json 文件 "name" 中设置的包名称。在你的情况下应该是:
yarn workspace @gemini/common build
I have tried changing the name to package/common or @gemini/common but without luck.
您应该看不到错误 error Unknown workspace "@gemini/common".
也许您遇到了其他错误?
如果您想在工作区 <workspace>
中 运行 一个 build
脚本,那么该命令的语法是
yarn workspace <workspace> build
例如,我的根 package.json
中有以下内容:
"workspaces": [
"api",
"app"
],
那么我可以运行 yarn workspace api build
.
我有这样设置的工作区
"private": true,
"workspaces": {
"packages": [
"packages/*"
],
"nohoist": [
"**/firebase-admin",
"**/firebase-admin/**",
"**/firebase-functions",
"**/firebase-functions/**"
]
},
在我的包目录中,我有一个文件夹 common
,其中有一个文件夹 package.json
等
当我执行 yarn workspaces run build
时,它会触发所有工作区的构建脚本。但是,如果我尝试使用像 yarn workspace common build
这样的 yarn workspace
命令来定位一个特定的工作区,我会不断收到错误消息:
error Unknown workspace "common".
这是我从 yarn workspaces info
得到的输出:
yarn workspaces v1.17.0
{
"@gemini/cli": {
"location": "packages/cli",
"workspaceDependencies": [],
"mismatchedWorkspaceDependencies": []
},
"@gemini/cloud-functions": {
"location": "packages/cloud-functions",
"workspaceDependencies": [
"@gemini/common"
],
"mismatchedWorkspaceDependencies": []
},
"@gemini/common": {
"location": "packages/common",
"workspaceDependencies": [],
"mismatchedWorkspaceDependencies": []
},
"@gemini/tools": {
"location": "packages/tools",
"workspaceDependencies": [],
"mismatchedWorkspaceDependencies": []
}
}
我曾尝试将名称更改为 package/common 或 @gemini/common 但没有成功。
我在这里错过了什么?
当你想在特定工作区调用命令时,你应该使用在其 package.json 文件 "name" 中设置的包名称。在你的情况下应该是:
yarn workspace @gemini/common build
I have tried changing the name to package/common or @gemini/common but without luck.
您应该看不到错误 error Unknown workspace "@gemini/common".
也许您遇到了其他错误?
如果您想在工作区 <workspace>
中 运行 一个 build
脚本,那么该命令的语法是
yarn workspace <workspace> build
例如,我的根 package.json
中有以下内容:
"workspaces": [
"api",
"app"
],
那么我可以运行 yarn workspace api build
.