Mic*_*elB 5 monorepo yarnpkg yarn-workspaces turbo turborepo
版本:
"packageManager": "yarn@1.22.19"
我的项目基于该npx create-turbo@latest命令。
我的 /packages 文件夹中有eslint-config-custom一个tsconfig项目,我在三个 Nodejs 应用程序中引用了该项目:
"tsconfig": "workspace:*",
"eslint-config-custom": "workspace:*",
Run Code Online (Sandbox Code Playgroud)
在我的根 package.json 中定义了工作区:
"workspaces": [
"apps/*",
"packages/*"
],
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我运行yarn或yarn install在根文件夹中时,yarn 会弹出,告诉我选择匹配的版本:
yarn install v1.22.19
info No lockfile found.
[1/5] Validating package.json...
[2/5] Resolving packages...
Couldn't find any versions for "eslint-config-custom" that matches "workspace:0.0.0"
? Please choose a version of "eslint-config-custom" from this list: (Use arrow keys)
> 0.0.0
Run Code Online (Sandbox Code Playgroud)
对于tsconfig依赖项也是如此,那么它只列出主注册表上具有相同名称的包的可用版本npmjs.com。
如何让纱线使用工作区中的依赖项?
此外,我如何使用范围来处理它们,而不是tsconfig从安装@myOrg/tsconfig?
package.json,尝试这些 "tsconfig": "*",
"eslint-config-custom": "*",
Run Code Online (Sandbox Code Playgroud)
在 中pnpm,软件包是通过 安装的workspaces:*,但在其他软件包管理器中,您只能通过 进行安装*。我们正在使用yarn,所以*可以工作。
看一下官方示例。
在package.json的 name字段中,包括您的组织范围。( @myOrg/package-name) 但不要更改文件夹的结构或其名称。
| 归档时间: |
|
| 查看次数: |
8370 次 |
| 最近记录: |