ng new перестал работать после обновления до Angular 6 - PullRequest
0 голосов
/ 06 мая 2018

Сегодня я обновил свой angular cli до последней версии и обнаружил ошибку, которая мешает мне создать новый Angular проект. Ниже приведен журнал ошибок, который я получаю после выполнения ng new app-name:

Error: Schematic "ng-new" not found in collection "@schematics/angular".
    at SchematicEngine.createSchematic (C:\Users\xyz\node_modules\@angular\cli\node_modules\@angular-devkit\schematics\src\engine\engine.js:155:23)
    at CollectionImpl.createSchematic (C:\Users\xyz\node_modules\@angular\cli\node_modules\@angular-devkit\schematics\src\engine\collection.js:12:29)
    at NodeWorkflow.execute (C:\Users\xyz\node_modules\@angular\cli\node_modules\@angular-devkit\schematics\tools\workflow\node-workflow.js:70:38)
    at Promise (C:\Users\xyz\node_modules\@angular\cli\models\schematic-command.js:141:22)
    at new Promise (<anonymous>)
    at NewCommand.runSchematic (C:\Users\xyz\node_modules\@angular\cli\models\schematic-command.js:140:16)
    at NewCommand.<anonymous> (C:\Users\xyz\node_modules\@angular\cli\commands\new.js:77:25)
    at Generator.next (<anonymous>)
    at C:\Users\xyz\node_modules\@angular\cli\commands\new.js:7:71
    at new Promise (<anonymous>)

Чтобы решить проблему самостоятельно, я переустановил angular cli , а также npm более чем в два раза. Версии пакетов следующие:

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.6.0
@angular-devkit/core         0.6.0
@angular-devkit/schematics   0.6.0
@schematics/angular          0.6.0
@schematics/update           0.6.0
rxjs                         6.1.0
Angular Cli                  6.0.0
Node                         8.11.1
npm                          5.6.0

Любая помощь будет оценена.

Редактировать: Я запустил ng new из места, где установлены угловые глобальные пакеты, и я могу создать приложение оттуда. Запуск его из другого места приводит к ошибке.

Ответы [ 3 ]

0 голосов
/ 08 мая 2018

Это случилось со мной, я думал, что это ошибка, я сообщил об этом здесь , оказалось, что у меня есть папка с именем node_modules в моем домашнем каталоге!

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

npm ls -g @schematics/angular
npm ls @schematics/angular 

Если вывод второй команды содержит

npm ERR! extraneous: @schematics/angular@0.6.0 C:\Users\User\node_modules\@angular\cli\node_modules\@schematics\angular

тогда, скорее всего, у вас возникла та же проблема, поскольку кажется, что существует папка node_modules, в которой локально установлена ​​как CLI, так и старая версия @ schematics / angular (C: \ Users \ User). Удалите это, чтобы решить эту проблему.

Пожалуйста, проверьте, так ли это и для вас.

0 голосов
/ 14 июня 2018

Я также получил эту ошибку при попытке выдачи, нг новый

Позже я понял, что это произошло в результате выполнения команды "npm install @ angular / cli", которая создала папку node_modules, в каталоге, где я работал.

Удалите папку «node_modules» и создайте свой проект с помощью «ng new»

Ps. при обновлении angular 6 команда ng должна указать, что вы не можете просто запустить «npm install @ angular / cli» где угодно, но только во вновь созданном проекте. Я думаю, что это немного несправедливо по отношению к новичкам в угловой

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

0 голосов
/ 06 мая 2018

Я подозреваю, что ваше обновление Angular CLI прошло не очень хорошо. Попробуйте удалить и заново установить его:

npm uninstall @angular/cli -g
npm install @angular/cli -g
...