Angular CLI Error: Команда serve повинна запускатися у проекті Angular, але визначення проекту не вдалося знайти


158

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

Команда serve потребує запуску в кутовому проекті, але визначення проекту не вдалося знайти.


11
Перевірте, чи є у вас папка node_modules в папці проекту, якщо не виконується встановлення npm
KEMBL

у мене вже є папка node_modules.
Gurpreet Singh

Я наткнувся на це питання, коли у мене було те саме повідомлення про помилку при спробі запуску "ng build". Відповіддю для мене було запустити "npm run build"
cfranklin

Я був у кореневому каталозі і отримував цю помилку: D. Після того як ng new projectя забув увійти в каталог проектів.
Davut Gürbüz

Відповіді:


228

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

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

напр

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

отримання посилання звідси https://github.com/angular/angular-cli/isissue/12215#issuecomment-433593036


30
Це трапляється тому, що новий angular-cli залежить, як angular.json замість .angular-cli.json як файл проекту, і ваша відповідь бере на себе цю конверсію
Кодове ім'я Джек

7
Примітка: --from=1.7.4представляє версію стерпний з, так що 1.7.4повинно бути змінено на кутову версію ви були раніше з використанням (наприклад 5.2.10, 6.0.0і т.д.).
cjn

4
оновлення @ angular / cli << це працювало для мене з існуючим проектом від 6 до 7
Abdullah Adeeb

2
Я був на 1.2.4 і отримав таку помилку: The specified command update is invalid. For available options, see ``ng help``.я вирішив її, оновивши кут-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

Помилка кутового клієнта: команду serve потрібно запустити в проекті Angular, але визначення проекту не вдалося знайти

Проблема відсутня у файлах angular.json.

    ng update --all --force

Тестується в кутових 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.json, а не .angular-cli.json.

Дотримуйтесь посібника з міграції .


4

Мені це було нерозумно, але потрібно залишити коментар, можливо, я врятую когось іншого клопоту. Це ж повідомлення трапляється, якщо ви маєте багатозадачність та маєте кілька проектів, тому частина проекту вкладена у папку проекту, як, projectFolder/subProject/projectOneотже, я projectFolder/subProjectнамагався запустити команду ng serve.

Переконайтеся, що ви знаходитесь у правильній папці, оскільки така ж помилка відбудеться, якщо ви знаходитесь у неправильній папці, а конфідування та побудова відсутні


3

У консолі диспетчера пакунків запустіть команду

PM> cd NameofApp 

тоді ви можете спробувати запустити команду там. Наприклад

PM > ng generate component Home

3

щойно перевстановити програму, це спосіб краще, ніж оновлювати чи редагувати якусь конфігурацію, яка не розпізнається npm через відсутність конфігурації, або ми не дуже впевнені, що не так.

Я вибираю рішення @Tinu - це робота

Крок 1) встановити npm -g @ angular / cli

Крок 2) Новий мій-кутовий проект

Крок 3) cd my-angular-project

Крок 4) ng serve - відкрити

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


2

Це відбувається, коли ви намагаєтеся запустити команду Angular "ng s" або "ng serve" в іншій папці замість кореневої папки програми Angular.

Також оновіть Angular за допомогою наступної команди:

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

Це розберуть це.


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

Чому нам доводиться створювати новий проект? Я хочу, щоб це було зроблено для існуючого
Дадхіч Сурав

навіщо створювати новий проект? Якщо у когось є проблеми в існуючому проекті
Lint

2

Ця помилка виникає, коли проект, який ви виконуєте, не є кутовим проектом. Хоча ви завантажили кутовий проект, але не встановили всі залежності, тому команда ng serve для вас недоступна.

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

npm install

(Примітка. Node.js повинен бути встановлений у вашій системі, і якщо ви використовуєте Angular 2 або вище, кутовий кліп також повинен бути встановлений у вашій системі перед запуском цієї команди. Щоб перевірити, чи встановлено node.js n вашої системи 1) Відкрийте cmd (будь-який шлях, як вузол має бути встановлений у вашій системі) 2) команда use

node -v
npm -v

щоб отримати версію node та npm)

Ще одна важлива річ: кутова версія кліпу не змінить значення, якщо версія, встановлена ​​у вашій системі, вища за версію, яку вимагає проект. Він подасть попередження, але ви можете проігнорувати попередження.


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.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 початок працював на мене. тож це буде корисно для іншого розробника. якщо це зроблено як приваблива відповідь, а не в коментарях
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

вихід ng v

Якщо ви помилитесь An unhandled exception occurred: ENOENT: no such file or directory, scandir '~/your-app/node_modules', значить, ви забули запуститиnpm install

На консолі повинна відображатися поточна версія CLI. Якщо версії різні , нам потрібно перенести проект до нової версії CLI, виконавши команду нижче. Зверніть увагу, що параметр від версії повинен встановити значення, знайдене для параметра @ 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

Також переконайтесь, що ви виконуєте службову службу, щоб зупинити її спочатку ...


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

Ви можете оновити кут за допомогою команди 'ng update --all'. Це займе час, але переконайтесь, що всі ваші компоненти є актуальними.


0

Перевірте, чи перебуваєте ви у папці проекту чи ні, і спробуйте команду ng serveще раз

Я отримав таку ж помилку, коли спробував ng serveкомандувати поза своїм проектом

Приклад :: скажімо, у вас є проект із назвою "Електронна комерція", перейдіть у папку і спробуйте команду 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.