monorepo:纱线工作区不起作用 - 依赖的软件包不安装在node_modules中

发布于 2025-02-02 19:35:07 字数 1479 浏览 3 评论 0原文

我使用的是使用纱线工作区创建的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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

榆西 2025-02-09 19:35:07

您的root软件包。json并不是真正的根。确保您的文件夹结构看起来像这样:

package.json 
packages 
|---Common
|...

Your root package.json isn't really root. Make sure your folder structure looks like this:

package.json 
packages 
|---Common
|...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文