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

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


当前回答

我也遇到过同样的问题,

我用旧的angular-cli版本(1.4.7)创建了一个新的angular项目 然后我用下面的命令更新了angular-cli(不要用下面的命令更新CLI)

NPM卸载@angular/cli NPM缓存清理——force 安装-g @angular/cli@latest

当我发球的时候,我也会像你一样犯同样的错误

Angular Cli Error: The serve command requires to be run in an Angular project, but a project definition could not be found

如何更新cli

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

其他回答

我建议确认一下你是否在项目目录中。

切换到你的app文件夹,再次运行generate命令:

我从一个主题示例项目基础开始。这是angular.json

 "projects": {
    "<project name>": {
      "projectType": "application",
      "schematics": {
        "@schematics/angular:component": {
    ...

它也有

 "defaultProject": "<project name>",
  "cli": {
    "analytics": false
  }

在Angular 13中,将项目名与此匹配解决了我的问题。

此错误通常可以追溯到对全局或本地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项目时,会发生此错误。 虽然你已经下载了一个angular项目,但还没有安装所有的依赖项,这就是为什么ng serve命令对你不可用的原因。

只需导航到存储项目的路径并使用该命令

npm install

(注意- Node.js应该安装在你的系统中,如果你使用的是Angular 2或更高版本,在你运行这个命令之前,Angular cli也应该安装在你的系统中。 检查系统中是否安装了node.js 1)打开cmd(任何path- as node都应该在你的系统中全局安装) 2)使用命令

node -v
npm -v

获取节点和NPM版本)

还有一件重要的事情: 如果系统中安装的版本高于项目所需的版本,那么angular cli的版本不会有什么不同。 它会给出一个警告,但你可以忽略这个警告。