运行终端命令ng server
或时ng serve --live-reload=true
,出现此问题:
serve命令需要在Angular项目中运行,但是找不到项目定义。
ng new project
我忘了进入项目目录。
运行终端命令ng server
或时ng serve --live-reload=true
,出现此问题:
serve命令需要在Angular项目中运行,但是找不到项目定义。
ng new project
我忘了进入项目目录。
Answers:
我也遇到了这个问题,并通过运行以下命令解决了。
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
--from=1.7.4
表示正在迁移的版本,所以1.7.4
应改为你以前使用的角度版本(例如:5.2.10
,6.0.0
,等)。
The specified command update is invalid. For available options, see ``ng help``.
我通过将angular-cli更新为1.7.4,然后按照以下答案解决了该问题。
确保您正在应用程序根文件夹中运行命令。
pm> dir
pm> cd clientapp
以下命令pm>ng config -g cli.warnings.versionMismatch false
最后,下面的命令为我解决了这个问题!
ng update --all --force
ng update @angular/cli
不起作用,但ng update --all --force
按预期工作会有什么区别?
我很傻,但是需要发表评论,也许我可以省去别人麻烦。如果您执行多任务并有多个项目,则会发生相同的消息,因此某些项目嵌套在项目文件夹中,例如projectFolder/subProject/projectOne
我在projectFolder/subProject
尝试运行命令时ng serve
。
确保您位于正确的文件夹中,因为如果您位于错误的文件夹中并且conf和build丢失,将会发生相同的错误!
当您尝试在其他文件夹而不是Angular应用程序的根文件夹上运行Angular命令“ ng s”或“ ng serve”时,会发生这种情况。
另外,使用以下命令升级Angular:
ng update @angular/cli --migrate-only --from=1.7.4
这样可以解决问题。
就我而言,我忘记了更改目录,因此仅在运行命令之后:
ng新的AngularProject
执行另一个命令:
cd AngularProject
并ng serve
为我工作。
我在Angular7上遇到了同样的问题,因为我们需要在运行您的应用程序之前进入根文件夹。转到应用程序的根文件夹并运行命令。它非常适合我。
我遇到了相同的问题,但我通过遵循以下代码步骤解决了。
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
当您正在运行的项目不是角度项目时,会发生此错误。尽管您已经下载了一个角度项目,但没有安装所有依赖项,所以ng serve命令对您不可用。
只需导航到项目存储的路径并使用命令
npm install
(注意-运行该命令之前,应在系统中安装Node.js,如果使用的是Angular 2或更高版本,则还应在系统中安装angular cli。要检查node.js是否已在系统1中安装)打开cmd(任何路径-节点都应在您的系统中全局安装)2)使用命令
node -v
npm -v
获取节点和npm版本)
还有一件重要的事情:如果您系统中安装的cli版本高于项目所需的版本,则cli cli版本不会有任何不同。它会发出警告,但您可以忽略该警告。
当我们在错误的目录中时,可能会发生此错误。因此,请使用cd命令更改目录。从上面的注释中不是很明显哪个命令给出了此错误,因此此答案是基于您在根文件夹/实际项目文件夹之外运行ng serve的假设。这就是为什么会出错的原因,因为cli命令需要conf&build文件才能运行cli build。
These should be the steps:
npm install -g @angular/cli //corrected from 'angular-cli'
ng new projectname
cd projectname
ng serve
open http://localhost:4200
我遇到了同样的错误。原因是新的角度cli更新使angular-cli.json变得多余,而被angular.json代替。我以前的Angular Cli版本是1.7.4,因此要进行更改,我运行了以下命令,它将为您进行转换:
ng update @angular/cli --migrate-only --from=1.7.4
当我遇到同样的问题时,
我已经使用旧的angular-cli版本(1.4.7)创建了新的angular项目,然后使用以下命令更新了angular-cli(请勿在更新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
尝试了以上所有方法,但对我而言,
npm start
我正在使用ionciv1,在文件中ionic.config.json
删除角度类型键,它可以正常工作
例:
{
"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"
}
通常可以将此错误追溯到对我们的全局或本地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 version参数应设置为@ 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
解决了。我在ubuntu 18.04.01 LTS上遇到了同样的问题。在使用NVM(节点版本管理器)时,没有上述选项起作用。解决方案是
在创建项目之前,使用命令
nvm use 10
(我的节点版本为10.15.0,所以我使用了“ nvm use 10”)
,它将显示输出-
现在使用节点v10.15.0(npm v6.4.1)的
版本会因各个系统而异。然后创建新项目。
请检查您是否是你的项目文件夹内或不和试命令ng serve
再次
由于ng serve
在项目外部尝试了命令,因此出现了相同的错误
示例::假设您有一个名为“电子商务”的项目遍历该文件夹,然后尝试使用命令 ng serve
open terminal cd Ecommerce ng serve
发生这种情况是因为我们在其他路径中单击了ng serve命令。这可以通过在我们项目所在的路径上单击ng serve或npm start命令来解决(采用路径直到包含src,node_modules等的文件夹)
F:\ project \ AngularDemo \ AngularDemoapp> ng服务