Похоже, вы не зависите от «@ angular / core». Это ошибка


142

Я хочу создать приложение angular 2 с помощью angular cli

Я написал в cmd:

npm установить angular-cli -g

тогда:

ng firstngapp

но он показывает мне ошибку, когда я пишу npm start! изображение ошибки

Файлы изображения

Я не понимаю в чем проблема


23
У меня была аналогичная проблема, но я был в родительской папке.
Jaider

Попробуйте запустить npm bugs firstngapp и посмотрите. Он поможет вам решить вашу проблему
Swanand

2
После установки npm вы можете попробовать закрыть проект, а затем снова открыть. У меня это сработало.
Pay

Ты такой же ржавый, как я? После клонирования проекта ... изменения в папку проекта иnpm install
Адам Кокс

согласен, вам нужно запустить «npm install angular-cli -g», затем «npm install» и, наконец, «ng XXX»
Андреас Панагиотидис

Ответы:



79

Во время работы ng serve вы должны находиться в каталоге приложения / проекта .

Если вы запустите команду в другом каталоге, вы получите сообщение об ошибке:

Похоже, вы не зависите от "@ angular / core". Это ошибка.


2
Я зависел от "@ angular / core", но меня не было в каталоге проекта, поэтому я получал эту ошибку
niranjan pb

15

Удалите модули узлов, убедитесь, что ваш package.jsonфайл имеет @angular/coreрасширение, и переустановите его с помощью npm i.


13
  1. Удалите папку node_modules и файл package-lock.json .
  2. Затем выполните следующую команду, она обновит пакеты npm.

    npm update

  3. Позже запустите проект, выполнив следующую команду.

    ng serve

Вышеуказанные шаги сработали для меня.


7

Может помочь вам.

  • Удалить все папки, которые вы создали ранее
  • Создать новую папку
  • Затем попробуйте перейти в эту папку с помощью команды "cd foldername"
  • затем попробуйте установить "npm install"

Это решит вашу проблему.


6

с терминала

 > cd myProjectPath
 myProjectPath > npm install

8
На данный момент это очень похоже на главный ответ - это необходимый ответ?
TerryA

1
Лучше, чем то же предложение выше.
FeeFiFoFum 01

6

Для меня сработали следующие шаги:

1) Удалите node_modules/папку и package-lock.jsonфайл.

2) npm install

3) ng serve


5

Я не знаю, остаётся ли это проблемой. Я испытывал такую же неприятность с @angular/cli v1.1.2на npm 4.1.2. Я удалил node_modulesкаталог, а затем перешел к обновлению npm(так как это было частой причиной в прошлом).

Я хотел обновиться npmдо 5.0.3(последней версии ), но, поскольку я использовал nvmее, похоже, испортил библиотеки. Таким образом, я переустановил node.

Затем я пошел с

  • npm cache clean
  • npm rebuild
  • npm install - Этот несколько раз, так как каждый раз выкидывал ошибку с другим пакетом

В конце концов, все посылки были в порядке.

Надеюсь это поможет.



3

Если кто-то сталкивается с этим в 2018 году, то, что, наконец, сработало для меня, было войти в my-app, с помощью которого я создал ng new my-app, и ЗАТЕМ запустить ng serveЭто связано с тем, что ему нужны зависимости и devDependencies, расположенные my-app/package.jsonвместо root/package.json. Это два отдельных файла.

Даже если я скопирую все зависимости в свою корневую папку package.json, мне также придется зайти и вручную изменить расположение путей для файлов конфигурации и тому подобное my-app/*. Гораздо проще просто зайти my-app/и запустить ng serveтам, чтобы все заработало так, как должно.

Итак, эти шаги должны работать для всех:

rm -rf <previous-app> // Каким бы ни было ваше предыдущее приложение, если оно у вас было.

sudo rm -rf node_modules

rm -f package-lock.json

npm install

ng new my-app

cd my-app

ng serve


Не могли бы вы объяснить, что означает rm -rf <previous-app> Я не помню, сделал ли я и почему. previous-appПосле выполнения ваших команд я получаю сообщение You cannot use the new command inside an Angular CLI project.об ошибке при выполненииng new my-app
Revolucion для Моники

@ Marine1 Вы не можете создать новое приложение Angular внутри приложения Angular. и запускать только в том rm -rf <previous app>случае, если у вас было предыдущее приложение, которое создает эту проблему. замените здесь имя своего приложения. rm -rf принудительно рекурсивно удаляет все содержимое каталога
Дэн


2

Столкнулся с той же проблемой. При запуске ngserve вы должны находиться в каталоге приложений. Для подтверждения (в GIT BASH: у вас будет (master) после пути к каталогу в приглашении gitbash, если вы находитесь в каталоге приложения.)


2

Вот как я решил эту проблему.

Я первый побежал npm install @angular/core.

Потом я побежал npm install --save.

Когда обе установки были успешно завершены, я запустил npm serveи получил сообщение об ошибке

"Versions of @angular/compiler-cli and typescript could not be determined.
The most common reason for this is a broken npm install.

Please make sure your package.json contains both @angular/compiler-cli and typescript in
devDependencies, then delete node_modules and package-lock.json (if you have one) and
run npm install again."

Затем я удалил свою папку node_modules, а также папку package-lock.json.

После того, как я удалил эти папки, я запустил npm install --saveеще раз.

Я побежал npm startи получил еще одну ошибку. Об этой ошибке сказано Error: Cannot find module '@angular-devkit/core'.

Я сбежал npm install @angular-devkit/core --save.

Наконец я побежал, npm startи проект начался!


2

У меня такая же проблема, и причина в том,

  1. при запуске ng new app-nameон создаст новый каталог с именем приложения и установит все в нем.
  2. после выполнения вышеуказанной команды человеческая тенденция заключается в том, чтобы запускаться, ng serve и поскольку ваше приложение находится в подкаталоге, оно не найдет package.json и не выдаст указанную ошибку.

Решение довольно простое. просто перейдите в подкаталог, а затем запуститеng serve


то есть, cd ng5 directory
Аджай Такур

Имя каталога @AjayTakur будет таким же, как имя приложения.
abhirathore2006

1

Вы создаете новый проект с:

ng new firstngapp

В вашем примере вам не хватает new. Это создаст папку, сгенерирует файлы и запустится npm installза вас. Кажется, вы создали папку, но в ней нет приложения Angular CLI.

А для запуска приложения используйте:

ng serve

npm start используется только в том случае, если вы вышли из кли.


1

После безуспешных попыток:

  • npm install
  • обновление npm
  • нг подавать

npm install -g @ angular / cli работал у меня


0

У меня была такая же проблема, и вместе с удалением node_modules и переустановкой мне нужно было сначала удалить package-lock.json.


0

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

"" Не удалось определить версии @ angular / compiler-cli и машинописного текста. Наиболее частой причиной этого является некорректная установка npm. Убедитесь, что ваш package.json содержит как @ angular / compiler-cli, так и typescript в devDependencies, затем удалите node_module и package-lock.json (если он у вас есть) и снова запустите npm install. ""

После выполнения всех действий теперь он работает правильно ... и появляется сообщение «Скомпилировано успешно».


0

Вам необходимо запустить сервер ng из папки c: \ project \ angular-src. Не только корень вашего проекта.


OP может не иметь папки c: \ project \ angular-src. И нет, твой ответ не имеет смысла. ng serveдолжен запускаться из корня папки, поскольку именно там находится package.jsonфайл, определяющий этот сценарий.
Мирослав Йонас


0

В моем случае сработало следующее:

rm -rf node_modules
rm package-lock.json
npm install

Следовательно npm install, а не обновление .


0

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

Затем, следуя руководству, которое я сделал npm install --save bootstrap, и после этого начала появляться ошибка. Потом, yarn add xxxконечно, так и поступил, и это сработало.

Чтобы восстановить состояние проекта, я удалил node_modulesи package-lock.jsonв соответствии с этим ответом, а затем запустилyarn install


0

Не удалось определить версии @ angular / compiler-cli и typescript. Наиболее частой причиной этого является некорректная установка npm.

Убедитесь, что ваш package.json содержит как @ angular / compiler-cli, так и typescript в devDependencies, затем удалите node_modules и package-lock.json (если он у вас есть) и снова запустите npm install.


0

Это случилось со мной, когда я микшировал менеджеры пакетов. Мой проект был создан с помощью Yarn, и после этого я добавил пару зависимостей, используя npm install (это создало package-lock.json только с добавленными зависимостями).

Судя по всему, ng serve использовал package-lock.json и не смог найти там угловые зависимости. После того, как я начал использовать только Yarn, т.е. yarn add вместо npm install, ошибка исчезла.


0

** Вы должны быть во вновь созданной папке YOUR_APP, прежде чем нажимать команду ng serve **

Начнем с чистого листа,

1) install npm

2) создать новое приложение angular ( ng new <YOUR_APP_NAME>)

3) перейти в папку приложения ( cd YOUR_APP_NAME)

4) ng serve

Надеюсь, это решит проблему.



0

Для ng serve вам нужно находиться внутри этого каталога

ashish@ashish-Inspiron-3521:~/Angular$ ng new FireStore
  create FireStore/README.md (1025 bytes)
  create FireStore/.angular-cli.json (1245 bytes)
  create FireStore/.editorconfig (245 bytes)
  create FireStore/.gitignore (544 bytes)
  create FireStore/src/assets/.gitkeep (0 bytes)
  create FireStore/src/environments/environment.prod.ts (51 bytes)
  create FireStore/src/environments/environment.ts (387 bytes)
  create FireStore/src/favicon.ico (5430 bytes)
  create FireStore/src/index.html (296 bytes)
  create FireStore/src/main.ts (370 bytes)
  create FireStore/src/polyfills.ts (3114 bytes)
  create FireStore/src/styles.css (80 bytes)

ashish@ashish-Inspiron-3521:~/Angular$ ng serve
You seem to not be depending on "@angular/core". This is an error.

Как я решил это с помощью cmd

ashish@ashish-Inspiron-3521:~/Angular$ cd FireStore/

Теперь сделайте cmd

ashish@ashish-Inspiron-3521:~/Angular/FireStore$ ng serve
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.