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

时间:2018-11-01 07:39:58

标签: angular angular5 angular-cli

运行ng serverng serve --live-reload=true时出现问题。以下是在终端上运行这些命令时遇到的问题。

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

请帮助我。我在这个问题上陷入困境。

谢谢。

36 个答案:

答案 0 :(得分:152)

我也遇到了这个问题,可以通过运行以下命令来解决。

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

例如

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

从这里https://github.com/angular/angular-cli/issues/12215#issuecomment-433593036

获取参考

答案 1 :(得分:20)

确保您正在应用程序根文件夹中运行命令。

答案 2 :(得分:8)

如果您已经下载了一个项目,请在该项目中执行

  

npm安装

答案 3 :(得分:7)

最后,下面的命令为我解决了这个问题!

ng更新--all --force

答案 4 :(得分:5)

  

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

     

问题丢失了angular.json文件。

    ng update --all --force

在Angular 7+中测试

答案 5 :(得分:3)

重新安装该应用程序要比更新或编辑由于缺少配置而导致npm无法识别的某些配置好得多,或者我们不确定是否出了问题。

我选择@Tinu解决方案有效

步骤1)npm install -g @ angular / cli

步骤2)ng new my-angular-project

第3步)cd my-angular-project

第4步)送达--open

只是备份了我们当前的源代码,并将其放回到了要创建的新角度项目中。

答案 6 :(得分:2)

转到您的应用程序文件夹,然后再次运行generate命令:

enter image description here

答案 7 :(得分:1)

就像乌斯曼说的那样,我第一次遇到很多麻烦,我在听教程。我没有将目录设置为项目目录,因此出现此错误。

我通过

解决了该问题
  1. 将正确的根目录设置为我的项目所在的cd myproject
  2. 编译应用-ng serve

就是这样。

答案 8 :(得分:1)

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

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

ng v

output of ng v

如果收到错误An unhandled exception occurred: ENOENT: no such file or directory, scandir '~/your-app/node_modules',则您忘记了 运行npm install

控制台应显示当前的CLI版本。如果版本不同,我们需要通过运行以下命令将项目迁移到新的CLI版本。请注意, from 版本参数应设置为在 @ angular / cli 设置中找到的值。

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

我们现在应该看一下我们的项目,并应该注意package.json文件中CLI依赖版本的更改。同样,根据您的CLI版本,.angular-cli.json文件将被删除,新的angular.json文件将被创建。这是新的CLI正在寻找的项目文件,因此没有找到任何项目的错误原因。通过添加此文件,我们应该能够重新运行项目。

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

ng server

感谢ozkary

答案 9 :(得分:1)

这真是愚蠢,但我需要发表评论,也许我可以省去别人麻烦。 如果您执行多任务并有多个项目,则会发生相同的消息,因此某些项目嵌套在projectFolder/subProject/projectOne之类的项目文件夹中,因此我在projectFolder/subProject中尝试运行命令ng serve

确保您在正确的文件夹中!

答案 10 :(得分:1)

当您正在运行的项目不是角度项目时,会发生此错误。 尽管您已经下载了一个角度项目,但没有安装所有依赖项,所以ng serve命令对您不可用。

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

npm install

(注意-应该在系统中安装Node.js,如果您使用的是Angular 2或更高版本,则在运行此命令之前,还应该在系统中安装angular cli。 检查系统中是否安装了node.js 1)打开cmd(任何路径-节点都应在系统中全局安装) 2)使用命令

node -v
npm -v

获取节点和npm版本)

另一件事: 如果系统中安装的cli版本高于项目所需的版本,那么cli cli版本不会有任何不同。 它会发出警告,但您可以忽略该警告。

答案 11 :(得分:1)

当我尝试更新到最新的nodenpm软件包时,这在我现有的项目中发生了:

  1. 全局卸载:npm uninstall -g angular-cli
  2. 重置缓存:npm cache cleannpm cache verify(对于npm version> 5)
  3. 安装最新版本:npm install -g @angular/cli@latest

答案 12 :(得分:1)

我遇到了相同的问题,但是我通过遵循以下代码步骤解决了。

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

答案 13 :(得分:1)

Click here for the image,for more understanding

  

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

您可以找到图像链接查看^^^

It means you're on your project folder, like so...
-angular_project_folder
>ng serve (not won't work here...)try 
>cd angular_app
-angular_project_folder
 |
 --angular_app(directory)
>ng serve(will work here), because of the angular.json present in the angular_app folder

答案 14 :(得分:1)

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

还使用以下命令升级Angular:

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

这将解决它。

答案 15 :(得分:1)

在Package Manager控制台中,运行命令

PM> cd NameofApp 

然后您可以尝试在此处运行命令。例如

PM > ng generate component Home

答案 16 :(得分:1)

确保在项目中设置了新的角度版本配置。新的angular cli使用angular.json而不是.angular-cli.json进行配置。

关注migration guide

答案 17 :(得分:1)

我遇到了同样的错误。原因是新的角度cli更新使angular-cli.json成为多余的,而是由angular.json代替。我以前的Angular Cli版本是1.7.4,因此要进行更改,我运行了以下命令,它将为您进行转换:

In [37]: eval(json_str)
Out[37]: {'a': '\xc3-----\xa4-----\x13'}

答案 18 :(得分:1)

我在Angular7中遇到了同样的问题,因为我们需要在运行您的应用程序之前进入根文件夹。转到应用程序的根文件夹并运行命令。它对我来说很完美。

答案 19 :(得分:0)

确保使用以下命令创建了angular App,然后在创建的Project文件夹中运行ng serve。

  

ng新的Project_Name

答案 20 :(得分:0)

angular.jason 文件中的任何问题都可能导致此错误。因此,如果您的目录中缺少该文件,或者可能发生错误。

答案 21 :(得分:0)

本项目没有使用angular cli,直接使用webpack。开始运行命令

<块引用>

npm 启动

答案 22 :(得分:0)

.done(function() { jQuery('.update').each(function () { jQuery('.update').bind('change', function () { console.log('bind the change to the fields with player update class') }); }); 无效吗?

可能只是当您执行ng update --all --forceAngular(例如.angular-cli.json)的版本升级到具有Angular 4的较新版本之一时。在这种情况下,您可能需要删除angular.json并替换为等效的元数据.angular-cli.json。之后,您将可以从一个命令或逐步执行更新。

答案 23 :(得分:0)

还要确保如果您正在运行ng serve,请先将其停止...

答案 24 :(得分:0)

已解决。我在 ubuntu 18.04.01 LTS 上遇到了同样的问题。当我使用 NVM(节点版本管理器)时,以上选项均无效。解决方案是
在创建项目之前,使用命令
nvm使用10
(我的节点版本是10.15.0,所以我使用了“ nvm use 10”)
它将显示输出-
现在使用节点v10.15.0(npm v6.4.1)
版本会因各个系统而异。 然后创建新项目。

答案 25 :(得分:0)

我在VS Code中遇到了同样的问题,事实证明启用Angular Icons检测可以解决问题

答案 26 :(得分:0)

我建议确认您是否在项目目录中。

答案 27 :(得分:0)

在没有安装角铁芯时发生了我的事情

Angular CLI: 9.0.0-rc.0
Node: 11.12.0
OS: darwin x64
Angular: undefined
...

所以我跑

npm i @angular/core

这给了我ng -v

Angular CLI: 9.0.0-rc.0
Node: 11.12.0
OS: darwin x64
Angular: 8.2.13
... core

然后我跑

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

删除了node_modules

npm install
cd <project name>
ng serve

成功了!

  

** Angular Live Development Server正在localhost:4200上侦听,请在http://localhost:4200/上打开浏览器** wdm」:已编译   成功。

答案 28 :(得分:0)

您可以使用命令“ ng update --all”来更新角度。这将花费一些时间,但是请确保您的所有组件都是最新的。

答案 29 :(得分:0)

对以上所有内容进行了尝试,但对我而言,解决方法是

npm start

答案 30 :(得分:0)

发生这种情况是因为我们在其他路径中单击了ng serve命令。这可以通过在我们项目所在的路径上单击ng serve或npm start命令来解决(采取路径直到包含src,node_modules,等)

F:\ project \ AngularDemo \ AngularDemoapp> ng服务

答案 31 :(得分:0)

这解决了我的问题:

ng generate component nameComponent --module app.module

答案 32 :(得分:0)

当我遇到同样的问题

我已经使用旧的angular-cli版本(1.4.7)创建了新的angular项目。 然后,我使用以下命令(请勿执行以下更新CLI

  • npm uninstall -g @angular/cli
  • npm cache clean --force
  • npm install -g @angular/cli@latest

现在,当我尝试ng serve时,我遇到了和您一样的错误

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

答案 33 :(得分:0)

请检查您是否在项目文件夹中,然后再次尝试命令ng serve

自从在项目外尝试ng serve命令以来,我遇到了相同的错误

示例:: 假设您有一个名为“电子商务”的项目遍历该文件夹,然后尝试命令ng serve 打开终端 cd电子商务 ng服务

答案 34 :(得分:0)

当我们在错误的目录中时,可能会发生此错误。因此,请使用cd命令更改目录。

答案 35 :(得分:0)

就我而言,我忘记了更改目录,因此在运行命令之后:

  

ng新的AngularProject

执行另一个命令:

  

cd AngularProject

ng serve为我工作。