今日、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を2回以上再インストールしました。パッケージのバージョンは次のとおりです。
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 angularグローバルパッケージがインストールされている場所から、そこからアプリケーションを作成できます。他の場所から実行すると、エラーが発生します。
それは私に起こりました、私はそれを報告したバグだと思いました ここ 、私は私のホームディレクトリにnode_modulesという名前のフォルダを持っていたことがわかりました!
これが同じ問題であることを確認するには、次のコマンドを実行します
npm ls -g @schematics/angular
npm ls @schematics/angular
2番目のコマンドの出力にが含まれている場合
npm ERR! extraneous: @schematics/[email protected] C:\Users\User\node_modules\@angular\cli\node_modules\@schematics\angular
その場合、CLIと古いバージョンの@ schematics/angularの両方がローカルにインストールされているnode_modulesフォルダー(C:\ Users\User)があるように見えるのと同じ問題が発生している可能性があります。この問題を修正するには、これを削除してください。
あなたにも当てはまるかどうか確認してください。
新しいngを発行しようとしたときにもこのエラーが発生しました
後で、作業中のディレクトリにnode_modulesフォルダーを作成する「npminstall @angular/cli」を発行した結果であることに気付きました。
「node_modules」フォルダーを削除し、「ngnew」でプロジェクトを作成します。
追伸angular 6アップグレードの場合、ngチームは、「npm install @ angular/cli」を好きな場所で実行できないことを指定する必要がありますが、これは新しく作成されたプロジェクトでのみです。角度の初心者には少し不公平
お役に立てれば
Angular CLIのアップグレードがうまくいかなかったと思われます。アンインストールしてから再インストールしてみてください。
npm uninstall @angular/cli -g
npm install @angular/cli -g
アンインストールして再インストールしてみてください:npm ls -g @ schematics/angular npm ls @ schematics/angular