npm 如何修复nrwl nx工作空间中的衍生ENAMETOOLONG错误

lvmkulzt  于 2022-11-14  发布在  其他
关注(0)|答案(6)|浏览(295)

我在一周前用nrwl/nx生成了一个Angular 项目,当时我可以生成库和组件,并可以启动我的项目,但现在我得到了以下错误:

spawn ENAMETOOLONG

每当我试图运行npm run start时,就会出现此错误。nx serve现在也不工作。我可以运行npm install,但无法启动我的应用程序。如果您需要任何其他信息,我可以提供给您,这是我的package.json:

{
  "name": "moniesta-admin",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "postinstall": "node ./decorate-angular-cli.js && ngcc --properties es2015 browser module main",
    "start": "nx serve",
    "build": "nx build",
    "test": "nx test"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~13.2.0",
    "@angular/cdk": "^13.0.0",
    "@angular/common": "~13.2.0",
    "@angular/compiler": "~13.2.0",
    "@angular/core": "~13.2.0",
    "@angular/forms": "~13.2.0",
    "@angular/localize": "~13.2.0",
    "@angular/material": "^13.2.2",
    "@angular/platform-browser": "~13.2.0",
    "@angular/platform-browser-dynamic": "~13.2.0",
    "@angular/router": "~13.2.0",
    "@nebular/auth": "^9.0.1",
    "@nebular/eva-icons": "^9.0.1",
    "@nebular/theme": "^9.0.1",
    "@ng-bootstrap/ng-bootstrap": "^11.0.0",
    "@nrwl/angular": "13.8.1",
    "bootstrap": "^5.1.3",
    "eva-icons": "^1.1.3",
    "rxjs": "~7.4.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~13.2.0",
    "@angular-eslint/eslint-plugin": "~13.0.1",
    "@angular-eslint/eslint-plugin-template": "~13.0.1",
    "@angular-eslint/template-parser": "~13.0.1",
    "@angular/cli": "~13.2.0",
    "@angular/compiler-cli": "~13.2.0",
    "@angular/language-service": "~13.2.0",
    "@nrwl/cli": "13.8.1",
    "@nrwl/cypress": "13.8.1",
    "@nrwl/eslint-plugin-nx": "13.8.1",
    "@nrwl/jest": "13.8.1",
    "@nrwl/linter": "13.8.1",
    "@nrwl/tao": "13.8.1",
    "@nrwl/workspace": "13.8.1",
    "@schematics/angular": "~13.2.0",
    "@types/jest": "27.0.2",
    "@types/node": "16.11.7",
    "@typescript-eslint/eslint-plugin": "~5.10.0",
    "@typescript-eslint/parser": "~5.10.0",
    "cypress": "^9.1.0",
    "eslint": "~8.7.0",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-cypress": "^2.10.3",
    "jest": "27.2.3",
    "jest-preset-angular": "11.0.0",
    "prettier": "^2.5.1",
    "ts-jest": "27.0.5",
    "typescript": "~4.5.2"
  }
}

编辑:
当我使用nx reset,然后再次使用nx serve时,会发生这种情况:

Log file with the error: C:\Users\Hasan\OneDrive\Desktop\Moniesta-Projects\Moniesta-Combinatioon\moniesta-management\moniesta-admin\node_modules\.cache\nx\d\daemon-error.log
   Please file an issue at https://github.com/nrwl/nx
   Nx Daemon is going to be disabled until you run "nx reset".

在守护程序日志中,它只显示相同的错误:

NX   spawn ENAMETOOLONG
fnatzsnv

fnatzsnv1#

当你有太多未提交的文件时(根据我的经验,范围超过700个左右),这个错误通常会出现。提交文件通常会解决这个问题。

7rtdyuoh

7rtdyuoh2#

我刚刚遇到了同样的问题。我确实手动删除了node_modules文件夹,然后用npm安装重新安装了所有的东西。还发现在根文件夹中有一个新的**.angular文件夹,这是以前没有的。在完全删除了这个文件夹后,我能够再次运行build。不是很确定如果运行nx build**一次(它再次填充这个文件夹),你不应该再清除它一次。

nuypyhwy

nuypyhwy3#

我刚遇到这个问题。对我有效的解决方案,我在这里找到了
在我的例子中,我在运行npm startnx serve时得到这个错误。在删除node_modules文件夹并运行npm install后,我发现运行npm install也给我这个错误。
我在分支上有未提交的更改。提交工作后错误消失。

dgenwo3n

dgenwo3n4#

我遇到了同样的问题,解决方法是这样的:

首先:将Nx更新到版本13.8.5。请执行以下操作:

1.运行命令:*nx迁移@nrwl/工作空间@13.8.5 *
1.运行命令:*npm安装 *
1.运行命令:*nx migrate --运行迁移 *
1.删除nx工作区根目录中的“migrations.json”文件

**第二步:**基于nx版本13.8.5全局重新安装npm。执行以下操作:

1.运行命令:* 13.8.5时的每分钟i -g nx *

mec1mxoz

mec1mxoz5#

我不知道为什么它与GIT有关,但是的,有太多未提交的文件是问题的主要原因。

ao218c7q

ao218c7q6#

在我的例子中,原因就像@jurev描述的here一样,但问题的根本原因并不那么明显。
我为一个项目定义了一个本地目录,并初始化了本地存储库,然后将项目从远程存储库下载到该目录中,并将本地存储库与远程存储库连接起来。结果,我没有任何要提交的文件,但git status显示所有文件都没有暂存以供进一步提交,并且nx serve..返回spawn ENAMETOOLONG
对我来说,解决方案是删除整个项目目录,下载一些版本控制系统的客户端(例如,TortoiseGit),并使用客户端从远程存储库克隆项目,并提供远程存储库的链接。之后,nx serve工作得很好。

相关问题