When running the terminal commands ng server
or ng serve --live-reload=true
, I'm getting this issue:
The serve command requires to be run in an Angular project, but a project definition could not be found.
I was also getting this issue and solved by running below command.
ng update @angular/cli --migrate-only --from=<WhateverVersionYouAreCurrentlyOn>
e.g.
ng update @angular/cli --migrate-only --from=1.7.3
getting ref from here
It was silly me but need to leave comment maybe I save someone else some hassle. Same message happens if you multitask and have multiple projects so some of project is nested inside project folder like projectFolder/subProject/projectOne
so I was in projectFolder/subProject
trying to run command ng serve
.
Make sure you are in correct folder because same error will occur if you are in wrong folder and conf and build is missing!
Make sure you have set the new angular version configuration in your project. The new angular cli uses angular.json and not .angular-cli.json for its configuration.
Follow migration guide.
to reinstall back freshly the application is way better rather than update or editing some config that is not recognize by npm due to missing config or we are not really sure what is wrong.
I choose @Tinu solution is work
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
just made backup for our current source code and put it back to new angular project that be created.
This error occurs when the project you are running is not an angular project. Though you have downloaded an angular project but have not installed all the dependencies thats why the ng serve command is not available to you.
Just navigate to the path where the project is stored and use the command
npm install
(Note - Node.js should be installed in your system and if you are using Angular 2 or above angular cli should also be installed in your system before you run this command. To check if the node.js is installed n your system 1) Open cmd (any path- as node should be globally installed in your system) 2) use command
node -v
npm -v
to get node and npm version)
One more important thing: The angular cli version won't make a difference if the version installed in your system is higher than the version required by the project. It will give a warning but you can ignore the warning.
This error may be occur when we are in wrong directory.so use cd command to change your directory. It's not very evident from the above comment that which specific command is giving this error so this answer is based on assumption that you are running ng serve outside the root folder/actual project folder. That's why it's giving error because cli commands require conf & build files to run the 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
I came across the same error. The reason is that new angular cli update makes angular-cli.json redundant, and it is replaced with angular.json instead. My previous Angular Cli version is 1.7.4, so to make the change, I ran the following command, it will make the conversion for you:
ng update @angular/cli --migrate-only --from=1.7.4
I faced the same issue when,
I had created new angular project using old angular-cli version (1.4.7) I then updated angular-cli using below commands (DO NOT DO THE BELOW TO UPDATE CLI)
npm uninstall -g @angular/cli
npm cache clean --force
npm install -g @angular/cli@latest
Now when I tried ng serve
, i was getting same error like you
Angular Cli Error: The serve command requires to be run in an Angular project, but a project definition could not be found
DO BELOW TO UPDATE CLI
ng update @angular/cli --migrate-only --from=1.4.7
I am using ionciv1, in the file ionic.config.json
delete the angular type key and it worked correctly
example:
{
"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"
}
solved
{
"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"
}
This error usually can be traced back to an update to our global or local CLI runtime. To check if this is the problem, we need to review the package.json
file. There, we should look for the @angular/cli dependency. This should indicate the CLI version that was used to create our project. Lets make a note of this value, as we need to use it to migrate our project later on.
We should now compare to the current CLI runtime by entering the following command on the terminal window.
ng v
If you get error
An unhandled exception occurred: ENOENT: no such file or directory, scandir '~/your-app/node_modules'
, then you forgot to runnpm install
The console should display the current CLI version. If the versions are different, we need to migrate the project to the new CLI version by running the command below. Note that the from version parameter should set to the value found for the @angular/cli setting.
ng update @angular/cli --migrate-only --from=1.6.7
We should now take a look at our project and should notice changes to the CLI dependency version in the package.json
file. Also depending on your CLI version, the .angular-cli.json
file is deleted, and a new angular.json
file is created. This is the project file that the new CLI is looking for and thus the source of the error of no project found. By adding this file, we should be able to be back on track on run our project again.
We should be able to enter the following command and the project should be loading fine.
ng server
Thanks to ozkary
Solved. I was getting same issue on ubuntu 18.04.01 LTS. No above options worked as I was using NVM (Node Version manager.) Solution is
before creating project,use command
nvm use 10
(my node version was 10.15.0, so I used "nvm use 10")
It will show you output-
Now using node v10.15.0 (npm v6.4.1)
Versions will vary as per individual systems.
then create new project.
Please check whether you are inside your project folder or not and try the command ng serve
again
I got the same error since I tried ng serve
command outside of my project
Example ::
let's say you have a project with name "Ecommerce" traverse into the folder and try the command ng serve
open terminal
cd Ecommerce
ng serve
ng new project
I forgot to enter project directory. - Davut Gürbüz