解决 Angular 官网下载的 library Schematics build 出错的办法

从 angular 官网下载 Schematics 的例子,在工作区的根目录下,运行库的 ng build 命令。

ng build my-lib

错误消息:

An unhandled exception occurred: Cannot find module '@angular-devkit/build-ng-packagr/package.json'
Require stack:
  • C:\app\node-v12.18.3-win-x64\node_modules\@angular\cli\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js
  • C:\app\node-v12.18.3-win-x64\node_modules\@angular\cli\node_modules\@angular-devkit\architect\node\index.js
  • C:\app\node-v12.18.3-win-x64\node_modules\@angular\cli\models\architect-command.js
  • C:\app\node-v12.18.3-win-x64\node_modules\@angular\cli\commands\build-impl.js
  • C:\app\node-v12.18.3-win-x64\node_modules\@angular\cli\node_modules\@angular-devkit\schematics\tools\export-ref.js

npm install 之后,问题依旧:

解决 Angular 官网下载的 library Schematics build 出错的办法_第1张图片

然而,我自己的 lib github repo 没有这个问题:

https://github.com/wangzixi-d...

ng build my-lib 很顺利:
解决 Angular 官网下载的 library Schematics build 出错的办法_第2张图片

比较两个工作区的 angular.json, 果然还是发现了一些区别:
解决 Angular 官网下载的 library Schematics build 出错的办法_第3张图片

注意下列标注的差别:

解决 Angular 官网下载的 library Schematics build 出错的办法_第4张图片

把 2 替换成 1 之后,又遇到如下的错误消息:

Cannot find module ng-packagr

解决 Angular 官网下载的 library Schematics build 出错的办法_第5张图片

在我能够工作的仓库下的 ng version 输出:

解决 Angular 官网下载的 library Schematics build 出错的办法_第6张图片
解决 Angular 官网下载的 library Schematics build 出错的办法_第7张图片

而 Angular 官网:

解决 Angular 官网下载的 library Schematics build 出错的办法_第8张图片

做一个表格比较一下:

解决 Angular 官网下载的 library Schematics build 出错的办法_第9张图片

这一行: "ng-packagr": "^12.1.1",

官网的 package.json 没有。添加到官网项目的 package.json 之后,问题消失,build 成功:

解决 Angular 官网下载的 library Schematics build 出错的办法_第10张图片

更多Jerry的原创文章,尽在:"汪子熙":

你可能感兴趣的:(解决 Angular 官网下载的 library Schematics build 出错的办法)