在Angular9时代,我尝试构建Angular5的环境却陷入困境时的备忘录
在现今时代,令人意想不到的是Angular5可以运行。由于在环境构建(建构时出现了一连串的错误)方面遇到了困难,因此我将整理所有解决错误的过程作为备忘录记录下来。
构建命令需要在Angular项目中运行,但找不到项目定义。
做过的事情
-
- angular cliが入っているか確認する
- コマンドを打ったディレクトリを確認する
提前进行编译。未知选项:“–env”。
做过的事情
ng –versionでAngular CLI: XXXのバージョンを確認する
バージョンを下げて対応する 私の環境では1.7.4にしました
无法确定@angular/compiler-cli和typescript的版本。最常见的原因是npm安装出错。
做过的事情
ng –versionで”@angular/compiler-cli”: XXXのバージョンを確認する
バージョンを下げて対応する 私の環境では5.2.11にしました
在 .angular-cli.json 中找不到任何应用程序。
我做过的事情 (Wǒ de
.angular-cli.jsonが存在するか確認する
動いている人から.angular-cli.jsonをもらって配置する
新しいバージョンで作成されてた.angular.jsonを消す
在构建过程中发生了错误:TypeError:无法读取未定义的‘thisCompilation’属性…
做过的事情 de
ng –versionでweboackのバージョンを確認する
npm remove webpack npm install webpack@3.11.0を実行する
在模块构建失败中出现错误:BrowserslistError: 未知的浏览器查询 dead…
这里出现了这样的日志。
由于解决这个问题花费了一些时间,所以我会列出所有我所做的事情。
...
/node_modules/@angular/cli/node_modules/browserslist/index.js:164:11
...
ERROR in ../src/main.ts
Module build failed: Error: Cannot find module ‘@angular/compiler-cli/ngcc’
...
ERROR in ../src/polyfills.ts
Module build failed: Error: Cannot find module ‘@angular/compiler-cli/ngcc’
...
ERROR in ../src/styles.scss
Module build failed: ModuleBuildError: Module build failed: ValidationError: Invalid options object.
...
ERROR in ../src/styles.scss
Module build failed: ValidationError: Invalid options object. Sass Loader has been initialized using an options object that does not match the API schema.
...
做过的事情 1
npm list –depth=0 で確認する。
结局
XXX@0.0.0 /XXX/XXX/XXX
...
├── UNMET PEER DEPENDENCY @angular/compiler-cli@5.2.11
...
├── UNMET PEER DEPENDENCY typescript@2.5.3
...
└── UNMET PEER DEPENDENCY zone.js@0.10.2
已经做过的事情 2
-
- npm install @angular/compiler-cli@5.2.11
-
- npm install typescript@2.5.3
npm install zone.js@0.10.2 を実行する。
npm list –depth=0 で確認する。
结果
XXX@0.0.0 /XXX/XXX/XXX
...
├── UNMET PEER DEPENDENCY @angular/compiler-cli@5.2.11
...
├── UNMET PEER DEPENDENCY typescript@2.5.3
...
└── UNMET PEER DEPENDENCY zone.js@0.10.2
有些报告表示问题已经解决了,但实际上并没有解决。
做了三件事。
- node_modulesを削除後npm installを実行する。
结局
不解决。 (Bù .)
我所做的事情是4。
ng –versionを確認する。
...
@angular-devkit/architect: 0.900.2
@angular-devkit/build-angular: 0.900.2
@angular-devkit/build-optimizer: 0.900.2
@angular-devkit/build-webpack: 0.900.2
@angular-devkit/core: 9.0.2
@angular-devkit/schematics: 0.3.2
...
- @angular-devkit/XXX のバージョンが気になるので0.3.2にする。不要なのも削除。
...
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
...
npm list –depth=0 で確認する
结果 (jié guǒ)
- UNMET PEER DEPENDENCY が消えた!
XXX@0.0.0 /XXX/XXX/XXX
...
├── @angular/compiler-cli@5.2.11
...
├── typescript@2.5.3
...
└── zone.js@0.10.2
在../src/styles.scss中出现错误,模块构建失败:错误:找不到模块”node-sass”。
做过的事情 de
npm rebuild node-sass –forceを実行(–forceなしはダメだった)
结果
- buildが通った!!
印象
实际上,因为是帮助他人的支持,所以花费了很多时间。
因为有这样的事情,我觉得删除并重新输入会更快,但是却做不到。
依赖关系非常非常复杂。(叹气)
请参阅
请问您需要这些链接的修改版本吗?