当运行终端命令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

其他回答

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

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

e.g.

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

从这里获取裁判

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

    ng update --all --force

在Angular 7+中测试

当你试图在另一个文件夹而不是Angular应用程序的根文件夹上运行Angular命令“ng s”或“ng serve”时,就会发生这种情况。

也可以使用以下命令升级Angular:

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

这样就能解决问题了。

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

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

我在VS Code中也遇到了同样的问题,结果发现启用Angular图标检测可以解决这个问题