Ошибка углового интерфейса командной строки: требуется выполнить команду serve в угловом проекте, но не удалось найти определение проекта


159

При запуске команд терминала ng serverили ng serve --live-reload=trueя получаю эту проблему:

Команда serve должна выполняться в проекте Angular, но определение проекта не найдено.


11
Проверьте, есть ли у вас папка node_modules в папке проекта, если не выполняете установку npm
KEMBL

У меня уже есть папка node_modules.
Гурприт Сингх

Я наткнулся на этот вопрос, когда у меня появилось то же сообщение об ошибке при попытке запустить «ng build». Для меня ответом было запустить «npm run build»
cfranklin

Я был в корневом каталоге, и получаю эту ошибку: D. После того, как ng new projectя забыл войти в каталог проекта.
Давут Гюрбюз

Ответы:


229

Я также получил эту проблему и решил, запустив команду ниже.

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


30
Это происходит потому, что новый angular-cli использует angular.json вместо .angular-cli.json в качестве файла проекта, и ваш ответ позаботится об этом преобразовании
кодовое имя Jack

7
Примечание. --from=1.7.4Представляет версию, из которой выполняется миграция, поэтому ее 1.7.4следует заменить на угловую версию, которую вы ранее использовали (например 5.2.10, 6.0.0и т. Д.).
CJN

4
ng update @ angular / cli << это сработало для меня с существующим проектом от 6 до 7
Abdullah Adeeb

2
Я был на 1.2.4 и получил следующую ошибку: The specified command update is invalid. For available options, see ``ng help``.я решил ее, обновив angular-cli до 1.7.4 и затем следуя этому ответу.
ILikeFood

1
Спасибо. Работая на меня, когда я повысил угловой с 4.4.7 до 7
Pullat Junaid

71

убедитесь, что вы запускаете команду в корневой папке приложения.


для доступа используйте корневую папку , pm> dir pm> cd clientappто если у вас есть ошибка использование сообщения следующий pm>ng config -g cli.warnings.versionMismatch false
Hosam hemaily

44

если вы скачали проект, делайте в проекте

установка npm


моя проблема была частными пакетами npm, которые не были установлены
Дэвид

Та же проблема, с которой я столкнулся при тестировании проектов для углового урока
mahlatse

19

Наконец, команда ниже исправила проблему для меня!

ng update --all --force

Я пытался ng update @angular/cliне сработало, но ng update --all --forceсработало, как ожидалось, какая разница?
k11k2

15

Ошибка Angular Cli: требуется выполнить команду serve в проекте Angular, но определение проекта не найдено

Проблема отсутствовала файлы angular.json.

    ng update --all --force

Проверено в Angular 7+


5

Это происходило в моем существующем проекте, когда я пытался обновиться до последней версии nodeи npmпакетов:

  1. Удалить глобальный: npm uninstall -g angular-cli
  2. Сброс кеша: npm cache cleanили npm cache verify(для npm version> 5)
  3. Установите последнюю версию: npm install -g @angular/cli@latest

4

Убедитесь, что вы установили новую угловую конфигурацию версии в своем проекте. Новый angular cli использует angular.json, а не .angular-cli.json для своей конфигурации.

Следуйте инструкциям по миграции .


4

Это было глупо для меня, но нужно оставить комментарий, может быть, я спасу кого-то еще от хлопот. Такое же сообщение появляется, если вы работаете в многозадачном режиме и у вас есть несколько проектов, поэтому некоторые проекты вложены в папку проекта, как, например, projectFolder/subProject/projectOneя projectFolder/subProjectпытался выполнить команду ng serve.

Убедитесь, что вы находитесь в правильной папке, потому что такая же ошибка произойдет, если вы находитесь в неправильной папке, а conf и build отсутствуют!


3

В консоли диспетчера пакетов выполните команду

PM> cd NameofApp 

тогда вы можете попробовать запустить команду там. Например,

PM > ng generate component Home

3

Это происходит, когда вы пытаетесь запустить команду Angular «ng s» или «ng serve» в другой папке, а не в корневой папке приложения Angular.

Также обновите Angular с помощью следующей команды:

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

Это разберется.


3

переустановить заново приложение лучше, чем обновить или отредактировать какой-либо конфиг, который не распознается npm из-за отсутствия конфига или мы не совсем уверены, что не так.

Я выбираю @Tinu решение это работа

Шаг 1) Установка npm -g @ angular / cli

Шаг 2) Новый проект my-angular

Шаг 3) cd my-angular-project

Шаг 4) ng serve --open

только что сделал резервную копию нашего текущего исходного кода и вернул его в новый угловой проект, который будет создан.


2

В моем случае я забыл изменить свой каталог, поэтому сразу после запуска команды:

нг новый AngularProject

выполнить другую команду:

cd AngularProject

и ng serveработал на меня.


2

У меня была такая же проблема с Angular7, потому что нам нужно перейти в корневую папку, прежде чем запускать ваше приложение. Перейдите в корневую папку вашего приложения и выполните команду. Это прекрасно работает для меня.


2

Я столкнулся с той же проблемой, но решил ее, выполнив следующие шаги кода.

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

Почему мы должны создать новый проект? Я хочу, чтобы это было сделано для существующего
Dadhich Sourav

зачем создавать новый проект? Если у кого-то есть проблемы в существующем проекте
Lint

2

Эта ошибка возникает, когда проект, который вы запускаете, не является угловым проектом. Хотя вы скачали угловой проект, но не установили все зависимости, поэтому команда ng serve недоступна для вас.

Просто перейдите к пути, где хранится проект, и используйте команду

npm install

(Примечание - Node.js должен быть установлен в вашей системе, и если вы используете Angular 2 или выше, angular cli также должен быть установлен в вашей системе перед выполнением этой команды. Чтобы проверить, установлен ли node.js в вашей системе 1) Откройте cmd (любой путь - как узел должен быть глобально установлен в вашей системе) 2) использовать команду

node -v
npm -v

чтобы получить версию узла и npm)

Еще одна важная вещь: угловая версия cli не будет иметь значения, если версия, установленная в вашей системе, выше, чем версия, требуемая проектом. Это выдаст предупреждение, но вы можете проигнорировать предупреждение.


2

Эта ошибка может возникать, когда мы находимся в неправильном каталоге. Поэтому используйте команду cd для изменения вашего каталога. Из приведенного выше комментария не очень очевидно, какая конкретная команда выдает эту ошибку, поэтому этот ответ основан на предположении, что вы запускаете ng serve вне корневой папки / папки фактического проекта. Вот почему это дает ошибку, потому что команды cli требуют файлы conf & build для запуска сборки cli.

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


1

Я столкнулся с той же ошибкой. Причина в том, что новое обновление angular cli делает angular-cli.json избыточным, и вместо него оно заменяется angular.json. Моя предыдущая версия Angular Cli - 1.7.4, поэтому, чтобы внести изменения, я выполнил следующую команду, она сделает преобразование для вас:

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

Неизвестная опция: '--target' npm ERR! код ELIFECYCLE
Sohail

1

Я столкнулся с той же проблемой, когда,

Я создал новый угловой проект, используя старую версию angular-cli (1.4.7). Затем я обновил 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

1

Как сказал Усман, у меня было много проблем в первый раз, я следовал учебному пособию. Я не установил свой каталог в каталог проекта, поэтому получил эту ошибку.

Я решил проблему

  1. Установка правильного корневого каталога, где был мой проект cd myproject
  2. Скомпилируйте приложение - ng serve

Вот и все.


1

Перепробовал все вышеперечисленное Но для меня это было решено

npm start


это должно быть в разделе комментариев
Pardeep

@Pardeep Я перепробовал все вышеприведенные ответы, но npm start сработал. так что это будет полезно для другого разработчика. если он сделан в качестве привлекательного ответа, а не в комментариях
viveksuggu

1

Я использую 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"
    }

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

Теперь мы должны взглянуть на наш проект и заметить изменения в версии зависимостей CLI в package.jsonфайле. Также в зависимости от вашей версии CLI, .angular-cli.jsonфайл удаляется, и создается новый angular.jsonфайл. Это файл проекта, который ищет новый CLI и, следовательно, источник ошибки, так как проект не найден. Добавив этот файл, мы сможем вернуться к работе и снова запустить наш проект.

Мы должны быть в состоянии ввести следующую команду, и проект должен загружаться нормально.

ng server

Благодаря озкары


1

Убедитесь, что вы создали угловое приложение, используя команду ниже, а затем запустите ng serve в созданной папке Project.

ng new Project_Name

0

Также убедитесь, что если вы запускаете ng serve, сначала остановите его ...


0

Решаемые. Я получил ту же проблему на Ubuntu 18.04.01 LTS . Никакие выше параметры не работали, так как я использовал NVM (Node Version manager.). Решение
перед созданием проекта , используйте команду
nvm use 10
(моя версия узла была 10.15.0, поэтому я использовал «nvm use 10»).
Она покажет вам вывод:
Теперь с использованием узла v10.15.0 (npm v6.4.1)
версии будут различаться для разных систем. затем создайте новый проект.


0

Вы можете обновить angular с помощью команды 'ng update --all'. Это займет время, но убедитесь, что все ваши компоненты обновлены.


0

Пожалуйста, проверьте, находитесь ли вы в папке вашего проекта или нет, и ng serveповторите команду

Я получил ту же ошибку, так как я пытался ng serveкомандовать за пределами моего проекта

Пример :: допустим, у вас есть проект с именем "Ecommerce", перейдите в папку и попробуйте команду ng serve открыть терминал cd Ecommerce ng serve


0

Это исправило мою проблему:

ng generate component nameComponent --module app.module

0

Это происходит потому, что мы нажимаем на команду ng serve по какому-то другому пути. Эту проблему можно решить, нажав команду ng serve или npm start по пути, в котором находится наш проект (продолжайте путь до папки, содержащей src, node_modules и т. Д.)

F: \ project \ AngularDemo \ AngularDemoapp> ng serve

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.