monorepo:纱线工作区不起作用 - 依赖的软件包不安装在node_modules中
我使用的是使用纱线工作区创建的MonorePo,其中包含一个具有React-native项目( Mobile 文件夹)和a common 文件夹,其中包含要在项目中共享的公共文件。这里移动项目取决于 common 文件,我已经配置了它,参考了此 doc 。
当我进行纱线安装
时,它显示此错误 - > :找不到”。
“ https://registry.yarnpkg.com/@myapp%2fcommon
packages
|---package.json
|---Common
| |---src
| |---package.json
|---Mobile
| |---src
| |---package.json
发生了一个意外错误: /strong>
{
"name": "monorepo",
"version": "0.0.1",
"private": true,
"workspaces": {
"packages": ["packages/*"],
"nohoist": [
"**/react-native",
"**/react-native/**",
]
}
}
common的软件包。JSON
{
"name": "@myapp/common",
"version": "0.0.1",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"license": "UNLICENSED",
"devDependencies": {
"@types/react": "18.0.9",
"@types/react-native": "0.67.7",
"@reduxjs/toolkit": "1.8.1",
"react-redux": "8.0.1"
}
}
Mobile的软件包
"name": "@myapp/mobile",
"version": "0.0.1",
"private": true,
...
"dependencies": {
"@myapp/common": "0.0.1",
"@reduxjs/toolkit": "1.8.1",
"react": "17.0.2",
"react-native": "0.68.2",
...
}
...
。
I am using monorepo created using Yarn Workspaces with Typescript which has a react-native project (mobile folder) and a common folder which contains the common files to be shared across projects. Here the mobile project is dependent on common files and I have configured it referring to this doc.
When I do yarn install
it show this error -> An unexpected error occurred: "https://registry.yarnpkg.com/@myapp%2fcommon: Not found".
Monorepo Structure:
packages
|---package.json
|---Common
| |---src
| |---package.json
|---Mobile
| |---src
| |---package.json
root package.json
{
"name": "monorepo",
"version": "0.0.1",
"private": true,
"workspaces": {
"packages": ["packages/*"],
"nohoist": [
"**/react-native",
"**/react-native/**",
]
}
}
Common's package.json
{
"name": "@myapp/common",
"version": "0.0.1",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"license": "UNLICENSED",
"devDependencies": {
"@types/react": "18.0.9",
"@types/react-native": "0.67.7",
"@reduxjs/toolkit": "1.8.1",
"react-redux": "8.0.1"
}
}
Mobile's package.json (react-native)
"name": "@myapp/mobile",
"version": "0.0.1",
"private": true,
...
"dependencies": {
"@myapp/common": "0.0.1",
"@reduxjs/toolkit": "1.8.1",
"react": "17.0.2",
"react-native": "0.68.2",
...
}
...
Any Suggestions ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的root软件包。json并不是真正的根。确保您的文件夹结构看起来像这样:
Your root package.json isn't really root. Make sure your folder structure looks like this: