this.tree.readText is not a function
并退出。
我正在使用Ubuntu 22.04,通过控制台窗口使用ng
。
我正在尝试在功能模块中生成一个新组件。我在功能模块目录中使用以下命令启动ng
:
ng g c components/my-new-component --change-detection OnPush
工作目录类似于:
~/Develop/my-project/src/app/feature-module
我预计会在新文件夹中生成四个新文件。
~/Develop/my-project/src/app/feature-module/components/my-new-component/
以及模块文件
~/Develop/my-project/src/app/feature-module/feature-module.module.ts
将新生成的组件更新。
我在Ubuntu 20.04上也遇到了这种情况。一位同事在使用命令行 ng
时,在他的Mac电脑(M1)上也遇到了同样的问题,但他没有受到影响,因为他使用IntelliJ并且有一个扩展程序可以生成新组件,而不是使用命令行。
我尝试过在Google上搜索这个问题,但没有任何成功。我还尝试删除node_modules以及package-lock.json文件,并重新安装所有包,但无济于事。
我正在使用以下版本的node/typescript/angular:
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 13.3.8
Node: 14.19.2
Package Manager: npm 6.14.17
OS: linux x64
Angular: 13.3.11
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1303.8
@angular-devkit/build-angular 13.3.8
@angular-devkit/core 14.0.3
@angular-devkit/schematics 14.0.3
@angular/cdk 13.3.9
@angular/cli 13.3.8
@angular/material 13.3.9
@schematics/angular 14.0.3
rxjs 6.6.7
typescript 4.5.5
有人知道我哪里做错了吗?
更新
我尝试创建一个新项目,添加一个功能模块并向该功能模块添加一个组件 - 一切都完美地运作了,所以我想问题应该是由我正在工作的项目(或其结构)中的某些东西引起的。这将是很有趣的......
cli
部分,用于项目特定的 cli 选项。在从 tslint 迁移到 eslint 时,添加了此部分,并将属性defaultCollection
设置为"@angular-eslint/schematics"
。在 Angular 13 的文档中没有列出这个选项,不过列出了schematicCollections
。将defaultCollection
替换为schematicCollections
即可解决问题。不幸的是,angular.json 的 JSON-schema 指定了defaultCollection
而不是schematicCollections
,所以我的 IDE (vs code) 发现了一个问题。 - roadkill