运行ng server
或ng serve --live-reload=true
时出现问题。以下是在终端上运行这些命令时遇到的问题。
The serve command requires to be run in an Angular project, but a project definition could not be found.
请帮助我。我在这个问题上陷入困境。
谢谢。
答案 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)
答案 7 :(得分:1)
就像乌斯曼说的那样,我第一次遇到很多麻烦,我在听教程。我没有将目录设置为项目目录,因此出现此错误。
我通过
解决了该问题cd myproject
ng serve
就是这样。
答案 8 :(得分:1)
此错误通常可以追溯到对我们的全局或本地CLI运行时的更新。要检查是否是问题所在,我们需要查看package.json
文件。在那里,我们应该寻找 @ angular / cli 依赖项。这应该指示用于创建我们的项目的CLI版本。让我们记下这个值,因为以后需要使用它来迁移我们的项目。
我们现在应该通过在终端窗口中输入以下命令来与当前的CLI运行时进行比较。
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)
当我尝试更新到最新的node
和npm
软件包时,这在我现有的项目中发生了:
npm uninstall -g angular-cli
npm cache clean
或npm cache verify
(对于npm version
> 5)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进行配置。
答案 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 --force
从Angular
(例如.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
为我工作。