简体   繁体   English

在 NX monorepo 中启动应用程序时出现问题:(无法读取未定义(读取“项目”)

[英]Problem with launching application in NX monorepo: (cannot read undefined (reading 'projects')

I had one project (grocery-shop) in NX monorepo that uses nestjs among others.我在 NX monorepo 中有一个项目(杂货店)使用 nestjs 等。 The application is a strict backend api. I wanted to add a frontend and for this purpose I dragged react to the project.该应用程序是一个严格的后端 api。我想添加一个前端,为此我将反应拖到项目中。 After generating a new project in monorepo ( nx g @nrwl/react:app grocery-shop-webapp ) - I can't run either one ( nx serve grocery-shop ).在 monorepo 中生成一个新项目后 ( nx g @nrwl/react:app grocery-shop-webapp ) - 我无法运行任何一个 ( nx serve grocery-shop )。

I am getting an error message:我收到一条错误消息:

NX Cannot read properties of undefined (reading 'projects') NX 无法读取未定义的属性(读取“项目”)

My nx.json file code looks like this:我的 nx.json 文件代码如下所示:

{
  "$schema": "./node_modules/nx/schemas/nx-schema.json",
  "npmScope": "grocery-shop",
  "tasksRunnerOptions": {
    "default": {
      "runner": "@nrwl/nx-cloud",
      "options": {
        "cacheableOperations": ["build", "lint", "test", "e2e"],
        "accessToken": "NjYzNzg4YjMtYjM1ZC00M2NkLThhNzAtZWE2NzM4ZjhiNWUzfHJlYWQtd3JpdGU="
      }
    }
  },
  "targetDefaults": {
    "build": {
      "dependsOn": ["^build"],
      "inputs": ["production", "^production"]
    },
    "test": {
      "inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"]
    },
    "lint": {
      "inputs": ["default", "{workspaceRoot}/.eslintrc.json"]
    },
    "e2e": {
      "inputs": ["default", "^production"]
    }
  },
  "namedInputs": {
    "default": ["{projectRoot}/**/*", "sharedGlobals"],
    "production": [
      "default",
      "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
      "!{projectRoot}/tsconfig.spec.json",
      "!{projectRoot}/jest.config.[jt]s",
      "!{projectRoot}/.eslintrc.json"
    ],
    "sharedGlobals": ["{workspaceRoot}/babel.config.json"]
  },
  "defaultProject": "grocery-shop",
  "generators": {
    "@nrwl/react": {
      "application": {
        "style": "css",
        "linter": "eslint",
        "bundler": "webpack",
        "babel": true
      },
      "component": {
        "style": "css"
      },
      "library": {
        "style": "css",
        "linter": "eslint"
      }
    }
  }
}

So I decided to implement the "projects" option manually in this file.所以我决定在这个文件中手动实现“项目”选项。

...
"npmScope": "grocery-shop",
  "projects": {
    "grocery-shop": {
      "root": "apps/grocery-shop",
      "tags": []
    },
    "grocery-shop-webapp": {
      "root": "apps/grocery-shop-webapp",
      "tags": []
    }
  }
...

So now when I try to run nx serve grocery-shop I get an error message:所以现在当我尝试运行nx serve grocery-shop时,我收到一条错误消息:

NX As of Nx 13, project configuration should be moved from nx.json to workspace.json/project.json. NX 从 Nx 13 开始,项目配置应从 nx.json 移动到 workspace.json/project.json。 Please run "nx format" to fix this.请运行“nx format”来解决这个问题。

NX Cannot find configuration for task grocery-shop:serve NX 找不到任务杂货店的配置:服务

I will mention that " nx format " does not improve anything and the error is still there.我会提到“ nx format ”没有改善任何东西,错误仍然存在。

Can you guys help me to run both applications?你们能帮我运行这两个应用程序吗?

EDIT: nx report output:编辑: nx report output:

npm  : 9.2.0
   
   nx : 15.3.3
   @nrwl/angular : Not Found
   @nrwl/cypress : 15.6.2
   @nrwl/detox : Not Found
   @nrwl/devkit : 15.3.3
   @nrwl/esbuild : Not Found
   @nrwl/eslint-plugin-nx : 15.3.3
   @nrwl/expo : Not Found
   @nrwl/express : Not Found
   @nrwl/jest : 15.6.2
   @nrwl/js : 15.6.2
   @nrwl/linter : 15.3.3
   @nrwl/nest : 15.4.2
   @nrwl/next : Not Found
   @nrwl/node : 15.3.3
   @nrwl/nx-cloud : 15.0.2
   @nrwl/nx-plugin : Not Found
   @nrwl/react : 15.6.2
   @nrwl/react-native : Not Found
   @nrwl/rollup : Not Found
   @nrwl/schematics : Not Found
   @nrwl/storybook : Not Found
   @nrwl/web : Not Found
   @nrwl/webpack : 15.3.3
   @nrwl/workspace : 15.3.3
   typescript : 4.9.4

SOLUTION: I used the nx migrate latest command to update the version of NX and its dependencies as @Craigory Coppola correctly pointed out - I had dependency version mismatches.解决方案:正如@Craigory Coppola 正确指出的那样,我使用nx migrate latest命令来更新 NX 及其依赖项的版本 - 我的依赖项版本不匹配。

This reads like you probably have mismatched versions of nrwl/nx packages.这看起来像是您的 nrwl/nx 包版本可能不匹配。 Can you run nx report ?你能运行nx report吗?

They should all be the same except nx cloud它们应该都是一样的,除了 nx cloud

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 生产中 React Joyride 的问题无法读取未定义的属性(读取“0”) - Problem with React Joyride on production Cannot read properties of undefined (reading '0') 无法读取未定义的属性(读取“4”) - Cannot read properties of undefined (reading '4') 在表单中选择 - 通过选项映射问题,无法读取未定义的属性(读取“地图”) - Select in form - Problem mapping through options, cannot read properties of undefined (reading 'map') 类型错误:无法读取汇总包 [monorepo] [纱线工作区] [nodejs] 中未定义的属性“组合” - TypeError: Cannot read property 'combine' of undefined in rollup bundle [monorepo] [yarn workspaces] [nodejs] TypeError:无法读取未定义的属性(读取“addEventListener”) - TypeError: Cannot read properties of undefined (reading 'addEventListener') 无法读取未定义的属性(读取“替换”) - Cannot read properties of undefined (reading 'replace') TypeError:无法读取未定义的属性(读取“getDeep”) - TypeError: Cannot read properties of undefined (reading 'getDeep') 无法读取未定义的属性(读取“解码”)NestJs - Cannot read properties of undefined (reading 'decode') NestJs 类型错误:无法读取未定义的属性(读取“id”) - TypeError: Cannot read properties of undefined (reading 'id') 试图运行我的应用程序但遇到“无法读取未定义的属性(读取'reduce')” - Trying to run my application but suffering wth "Cannot read properties of undefined (reading 'reduce')"
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM