Angular ng:带有键或id的架构;http://json-schema.org/draft-06/schema" 已经存在

Angular ng:带有键或id的架构;http://json-schema.org/draft-06/schema" 已经存在,angular,angular-cli,Angular,Angular Cli,当我试图通过运行npm install--save@angular/Material@angular/cdk将材质库添加到angular项目时,我遇到了这个问题中描述的问题: 所以按照那里的建议,我运行了npm安装-g@angular/cli@latest;现在,所有ng命令都会产生以下结果: $ng 未知错误:错误:密钥或id为“”的架构http://json-schema.org/draft-06/schema“已经存在 ng可以从其他文件夹中工作,因此我猜项目中现在出现了一些问题。如何

当我试图通过运行
npm install--save@angular/Material@angular/cdk
将材质库添加到angular项目时,我遇到了这个问题中描述的问题:

所以按照那里的建议,我运行了
npm安装-g@angular/cli@latest
;现在,所有
ng
命令都会产生以下结果:


$ng
未知错误:错误:密钥或id为“”的架构http://json-schema.org/draft-06/schema“已经存在

ng
可以从其他文件夹中工作,因此我猜项目中现在出现了一些问题。如何解决这个问题

搜索此错误消息没有产生任何有用的结果,项目的json文件(如tsconfig.json)看起来都很好

package.json:

{
  "name": "some-frontend",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build --prod",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "6.0.1",
    "@angular/cdk": "^6.0.1",
    "@angular/common": "6.0.1",
    "@angular/compiler": "6.0.1",
    "@angular/core": "6.0.1",
    "@angular/forms": "6.0.1",
    "@angular/http": "6.0.1",
    "@angular/material": "^6.0.1",
    "@angular/platform-browser": "6.0.1",
    "@angular/platform-browser-dynamic": "6.0.1",
    "@angular/router": "6.0.1",
    "core-js": "^2.4.1",
    "npm": "^6.0.1",
    "rxjs": "^6.1.0",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@angular/cli": "6.0.1",
    "@angular/compiler-cli": "6.0.1",
    "@angular/language-service": "6.0.1",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "^4.0.1",
    "jasmine-core": "~2.8.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~2.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~4.1.0",
    "tslint": "~5.9.1",
    "typescript": "2.7.2"
  }
}
先前的package.json文件:

{
  "name": "some-frontend",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build --prod",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^5.2.0",
    "@angular/common": "^5.2.0",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0",
    "@angular/forms": "^5.2.0",
    "@angular/http": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/router": "^5.2.0",
    "core-js": "^2.4.1",
    "rxjs": "^5.5.6",
    "zone.js": "^0.8.19"
  },
  "devDependencies": {
    "@angular/cli": "~1.7.4",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "^4.0.1",
    "jasmine-core": "~2.8.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~2.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~4.1.0",
    "tslint": "~5.9.1",
    "typescript": "~2.5.3"
  }
}

这似乎是由于没有完全安装/错误的软件包造成的。运行

npm install --save
导致npm投诉损坏的文件;删除这些后,安装成功完成

然而,ng抱怨文件
angular.json
丢失;可以通过正确迁移来解决此问题,如中所述:


这似乎是由于没有完全安装/错误的软件包造成的。运行

npm install --save
导致npm投诉损坏的文件;删除这些后,安装成功完成

然而,ng抱怨文件
angular.json
丢失;可以通过正确迁移来解决此问题,如中所述:

在那之后,我们将通过

npm install
为我工作

在那之后,我们将通过

npm install

为我工作。

在安装@latest版本(现在是6.0.1)之前,您使用的是哪一版本的CLI?你在运行什么版本的Angular?安装了什么版本的material和cdk?不知道,我总是按照angular网站上的指导使用
@latest
。以前没有安装Material和cdk。不过,几天前我已经在这个系统上安装了CLI,因此它与6.0.1相差不远。由于出现错误,库的版本可能不一致或不一致。你能编辑你的帖子以包含项目的package.json吗?当然,我已经包含了文件的内容。这看起来确实不错。这是一个现有的项目,还是您是从
ng new
开始这个新项目的?如果是现有项目,请尝试运行
ng update@angular/cli
,如果可以的话。在安装@latest version(现在是6.0.1)之前,您使用的是哪一版本的cli?你在运行什么版本的Angular?安装了什么版本的material和cdk?不知道,我总是按照angular网站上的指导使用
@latest
。以前没有安装Material和cdk。不过,几天前我已经在这个系统上安装了CLI,因此它与6.0.1相差不远。由于出现错误,库的版本可能不一致或不一致。你能编辑你的帖子以包含项目的package.json吗?当然,我已经包含了文件的内容。这看起来确实不错。这是一个现有的项目,还是您是从
ng new
开始这个新项目的?如果是现有项目,请尝试运行
ng update@angular/cli
,如果可以的话。