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

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


当前回答

此错误通常可以追溯到对全局或本地CLI运行时的更新。为了检查这是否是问题所在,我们需要检查包。json文件。在这里,我们应该寻找@angular/cli依赖项。这应该指明用于创建项目的CLI版本。让我们记下这个值,因为我们稍后需要使用它来迁移我们的项目。

我们现在应该通过在终端窗口上输入以下命令来与当前的CLI运行时进行比较。

ng v

一个未处理的异常发生了:ENOENT:没有这样 文件或目录,scandir '~/your-app/node_modules',然后你忘记了 运行NPM install

控制台应该显示当前的CLI版本。如果版本不一致,则需要运行下面的命令将项目迁移到新的CLI版本。注意from version参数应该设置为@angular/cli设置中找到的值。

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

现在我们应该看一下我们的项目,应该注意到包中的CLI依赖版本发生了变化。json文件。也取决于你的CLI版本,.angular- CLI . conf。Json文件被删除,并创建一个新的angular. Json文件。创建Json文件。这是新CLI正在寻找的项目文件,因此是没有找到项目的错误的来源。通过添加这个文件,我们应该能够重新回到运行项目的轨道上。

我们应该能够输入以下命令,项目应该可以正常加载。

ng server

多亏了ozkary

其他回答

Angular Cli错误:serve命令需要在Angular项目中运行,但是找不到项目定义 问题是缺少角度。json文件。

    ng update --all --force

在Angular 7+中测试

确保你已经使用以下命令创建了angular应用,然后在创建的项目文件夹中运行ng serve。

ng new Project_Name

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

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

我使用的是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"
    }

我很傻,但需要留下评论,也许我可以为其他人省去一些麻烦。同样的消息发生在你多任务和有多个项目,所以一些项目嵌套在项目文件夹内,如projectFolder/subProject/projectOne,所以我在projectFolder/subProject中试图运行命令ng serve。

确保你在正确的文件夹,因为同样的错误会发生,如果你在错误的文件夹,conf和build是丢失的!