找不到模块'@schematics/angular/utility/project'。

20
如果我运行 ionic generate component xxx,会出现未处理的异常:找不到模块 '@schematics/angular/utility/project'。需要堆栈:

  • /Users/user/develop/myapp/node_modules/@ionic/angular-toolkit/schematics/component/index.js

  • /Users/user/develop/myapp/node_modules/@angular-devkit/schematics/tools/export-ref.js

  • /Users/user/develop/myapp/node_modules/@angular-devkit/schematics/tools/index.js

  • /Users/user/develop/myapp/node_modules/@angular/cli/utilities/json-schema.js

  • /Users/user/develop/myapp/node_modules/@angular/cli/models/command-runner.js

  • /Users/user/develop/myapp/node_modules/@angular/cli/lib/cli/index.js

  • /Users/user/develop/myapp/node_modules/@angular/cli/lib/init.js

  • /Users/user/develop/myapp/node_modules/@angular/cli/bin/ng

Ionic:

 Ionic CLI                     : 6.10.1 (/usr/local/lib/node_modules/@ionic/cli)
 Ionic Framework               : @ionic/angular 5.2.3
 @angular-devkit/build-angular : 0.1000.2
 @angular-devkit/schematics    : 10.0.2
 @angular/cli                  : 10.0.2
 @ionic/angular-toolkit        : 2.2.0

电容器:

 Capacitor CLI   : 2.1.2
 @capacitor/core : 2.1.2

Cordova:

 Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
 Cordova Platforms : android 8.1.0
 Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.2.1, (and 7 other plugins)

实用性:

 cordova-res : not installed
 native-run  : not installed

系统:

 ios-sim : 8.0.2
 NodeJS  : v12.18.1 (/usr/local/bin/node)
 npm     : 6.14.6
 OS      : macOS Catalina
 Xcode   : Xcode 11.5 Build version 11E608c
8个回答

62

看起来这是 ionicangular 10+ 的不兼容问题

这个方法对我有效

npm uninstall @schematics/angular
npm install @schematics/angular@9.1.0

1
我在使用Ionic 5和Angular 9.1.10时也遇到了这个问题,这个解决方法对我也有效。谢谢! - jiroch
这是最新的可行解决方案。 - Phoebe

7

您可以首先执行npm uninstall @schematics/angular,终端会提示“已删除XX个包,并审核了XXXX个包”等信息,然后您可以执行npm install @schematics/angular@9.1.0。

相应地,ng add ngx-bootstrap 提供了以下内容:

✅️ 添加了“bootstrap”

✅️ 添加了“ngx-bootstrap”


3
尝试下面的代码。
npm install @angular-devkit/schematics @angular-devkit/core @schematics/angular

谢谢!只是安装原理图引起了另一个错误,但这个问题已经解决了。 :) - cattourist

2

问题是原理图模块不兼容。

  1. 查找 @schematics/angular 的版本
node_modules/@schematics/angular/package.json/#_from
  1. 查找在 @ionic/angular-toolkit 模块中使用的 @schematics/angular 版本。
node_modules/@ionic/angular-toolkit/package.json

// package.json 

"dependencies": {
    "@schematics/angular": "^11.2.4",  
}
  1. 确认版本匹配。

  2. 如果版本不匹配,则安装相应版本的 @schematics/angular。

  3. 祝您拥有美好的一天!


这对我有点起作用,但这是找到我的信息的非常好的第一步。在研究 Angular 团队如何设置他们的版本名称后,我只使用了我当时正在使用的任何 Angular 版本。截至今天,我仍然在使用 Angular 13,因此我使用了与版本 ^13.2.2 相关的 @schematics/angular。由于最新版不兼容 Angular 13,我也对 @angular/pwa 包执行了相同的操作。 - Esteban Morales

2
请尝试运行 ng add @angular/pwa@13 命令。

2
在我的情况下,它是这样的:
"@ionic/angular-toolkit": "^2.3.3" 

替换"^2.2.0"的版本号。

我的Angular版本是10.1.4。

我通过升级Ionic CLI到最新版本后创建了一个全新的Ionic项目,发现了这个问题。


0

0

这对我来说有效。

npm i --save-dev @nativescript/schematics

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接