当运行终端命令ng server或ng serve——live-reload=true时,我得到了这个问题:

serve命令需要在Angular项目中运行,但是 找不到项目定义。


当前回答

我遇到了同样的错误。原因是新的angular cli更新使得angular-cli。Json是多余的,它被angular取代。json。我之前的Angular Cli版本是1.7.4,所以为了进行更改,我运行了下面的命令,它会为你完成转换:

ng update @angular/cli --migrate-only --from=1.7.4

其他回答

我也得到了这个问题,并通过运行下面的命令来解决。

ng update @angular/cli --migrate-only --from=<WhateverVersionYouAreCurrentlyOn>

e.g.

ng update @angular/cli --migrate-only --from=1.7.3

从这里获取裁判

我遇到了同样的问题,但我通过以下代码步骤解决了这个问题。

Step 1) npm install -g @angular/cli
Step 2) ng new my-angular-project
Step 3) cd my-angular-project
Step 4) ng serve --open

我使用的是ionciv1,在文件ionic.config.json中删除angular类型键,它可以正常工作

例子:

  {
  "name": "nombre",
  "integrations": {
    "cordova": {}
  },
  "type": "angular", // delete
  "gulpStartupTasks": [
    "sass",
    "templatecache",
    "ng_annotate",
    "useref",
    "watch"
  ],
  "watchPatterns": [
    "www/**/*",
    "!www/lib/**/*"
  ],
  "browsers": [
    {
      "platform": "android",
      "browser": "crosswalk",
      "version": "12.41.296.5"
    }
  ],
  "id": "0.1"
}

解决了

     {
      "name": "nombre",
      "integrations": {
        "cordova": {}
      },
      "gulpStartupTasks": [
        "sass",
        "templatecache",
        "ng_annotate",
        "useref",
        "watch"
      ],
      "watchPatterns": [
        "www/**/*",
        "!www/lib/**/*"
      ],
      "browsers": [
        {
          "platform": "android",
          "browser": "crosswalk",
          "version": "12.41.296.5"
        }
      ],
      "id": "0.1"
    }

有一次我试图在一个用Ruby on Rails创建的项目中执行ng serve命令。换句话说,我必须为Ruby on rails运行rails -s命令。 我很困惑,因为Angular是内置在Ruby on Rails中的,所以我必须运行Rails -s命令来启动我的项目的本地服务器,而且它工作起来没有任何问题。

当我试图更新到最新的节点和npm包时,它发生在我现有的项目中:

卸载全局:npm Uninstall -g angular-cli 重置缓存:npm Cache clean或npm Cache verify(用于npm版本> 5) 安装最新版本:npm Install -g @angular/cli@latest