在Mac上加载项目时出现角度错误

时间:2017-05-23 19:30:08

标签: macos angular angular-cli

我们正在开发一个使用node for the server / api和angular for the frontend的应用程序,目前我们在我的一个团队成员机器上面临一个奇怪的问题。

我们是3位开发人员我们2人使用Windows 10而另一位使用MacOS 10.12.5,这是在尝试在浏览器上加载客户端时出现以下问题:

zone.js:642 Unhandled Promise rejection: Template parse errors:
More than one component matched on this element.
Make sure that only one component's selector can match a given element.
Conflicting components: MdButton,MdButton ("<span>[ERROR ->]<button class="butron" md-button [mdMenuTriggerFor]="menu">{{menuItem}}</button>
<md-menu #menu="mdMe"): ng:///AppModule/MenuComponentComponent.html@0:6
More than one component matched on this element.
Make sure that only one component's selector can match a given element.
Conflicting components: MdMenuItem,MdMenuItem ("}}</button>
<md-menu #menu="mdMenu">
  <a [routerLink]="['/participant']" routerLinkActive="active">[ERROR ->]<button md-menu-item>Participante</button></a>
  <a [routerLink]="['/company']" routerLinkActive="act"): ng:///AppModule/MenuComponentComponent.html@2:63
More than one component matched on this element.
[...and so on]

开发环境如下:

  • 节点7.9.0
  • npm 4.2.0

并且前端的package.json是:

 "dependencies": {
    "@angular/animations": "^4.0.2",
    "@angular/common": "^4.0.0",
    "@angular/compiler": "^4.0.0",
    "@angular/core": "^4.0.0",
    "@angular/flex-layout": "^2.0.0-beta.8",
    "@angular/forms": "^4.0.0",
    "@angular/http": "^4.0.0",
    "@angular/material": "^2.0.0-beta.5",
    "@angular/platform-browser": "^4.0.0",
    "@angular/platform-browser-dynamic": "^4.0.0",
    "@angular/router": "^4.0.0",
    "@covalent/core": "^1.0.0-beta.3-2",
    "@covalent/dynamic-forms": "^1.0.0-beta.3-2",
    "@covalent/highlight": "^1.0.0-beta.3-2",
    "@covalent/http": "^1.0.0-beta.3-2",
    "@covalent/markdown": "^1.0.0-beta.3-2",
    "core-js": "^2.4.1",
    "hammerjs": "^2.0.8",
    "ngx-uploader": "^2.2.8",
    "rxjs": "^5.1.0",
    "zone.js": "^0.8.4"
  },
  "devDependencies": {
    "@angular/cli": "^1.0.0",
    "@angular/compiler-cli": "^4.0.0",
    "@types/jasmine": "2.5.38",
    "@types/node": "~6.0.60",
    "codelyzer": "~2.0.0",
    "jasmine-core": "~2.5.2",
    "jasmine-spec-reporter": "~3.2.0",
    "karma": "~1.4.1",
    "karma-chrome-launcher": "~2.0.0",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^0.2.0",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.0",
    "ts-node": "~2.0.0",
    "tslint": "~4.5.0",
    "typescript": "~2.2.0"
  }

我们已经验证我们所有3个都在相同版本的节点,npm,所有相同的包,我们在同一分支上的同一提交,但每当我们在Mac计算机上提供服务时,一切都正确加载节点控制台,但在尝试加载应用程序时出现上述错误,但在Windows环境中,我们无法重现该问题,因为一切正常并且符合预期。

我们删除并克隆了项目并完成了npm install几次,只删除了node_modules文件夹并重新安装了它们,重新安装了node和npm,从全局包或本地包中调用了ng,依此类推,没有一个工作到目前为止。

我已经完成了一些搜索,似乎有些人看到早期版本的角度2,但大多数都是通过更新软件包修复的,而且我们3都有相同,我们不认为这是问题,有没有其他人面临类似的事情?在这一点上我们几乎一无所知。

提前感谢您的帮助。

编辑:我必须补充说,自从我将项目从angular-cli beta更新为稳定版本并从2.3.1更改为4.0.2后,这种情况开始发生。

1 个答案:

答案 0 :(得分:0)

我修好了。

清除所有内容并再次克隆项目,然后从package.json中删除所有'^',一切按预期工作。它可能是一个更新的软件包来自冲突的东西。