升级 Angular 版本从 v9.x 到 v10.x 时的问题
在从Angular v9升级到v10的过程中,遇到的问题和解决方法记录如下:
困扰的内容
当试图将Angular版本从9升级到10时,遇到了@angular/cdk和@angular/material无法升级到10的问题。导致出现了以下状况…
Name Version Command to update
--------------------------------------------------------------------------------
@angular/cdk 9.2.4 -> 10.2.7 ng update @angular/cdk@10
@angular/cli 10.2.4 -> 11.2.9 ng update @angular/cli@11
@angular/core 10.2.5 -> 11.2.9 ng update @angular/core@11
@angular/material 9.2.4 -> 10.2.7 ng update @angular/material@10
尝试以该状态下进行ng serve,会出现下面的错误提示。
deprecationwarning access to process.binding('http_parser') is deprecated.
(Use `node --trace-deprecation ...` to show where the warning was created)
這個時候的 Docker 檔案設定。
FROM node:16.15.1-stretch
ENV PYTHONUNBUFFERED 1
RUN npm install -g @angular/cli@^10
EXPOSE 8080
为什么?
可能的翻译:
可能的原因是Node.js版本太新。将Node.js版本更改为14.17.5。
FROM node:14.17.5-stretch
ENV PYTHONUNBUFFERED 1
RUN npm install -g @angular/cli@^10
EXPOSE 8080
完成更新后,升级@angular/cdk和@angular/material。更新顺利完成。
# ng update
Using package manager: 'npm'
Collecting installed dependencies...
Found 36 dependencies.
We analyzed your package.json, there are some packages to update:
Name Version Command to update
--------------------------------------------------------------------------------
@angular/cdk 10.2.7 -> 11.2.9 ng update @angular/cdk@11
@angular/cli 10.2.4 -> 11.2.9 ng update @angular/cli@11
@angular/core 10.2.5 -> 11.2.9 ng update @angular/core@11
@angular/material 10.2.7 -> 11.2.9 ng update @angular/material@11
接下来是… (Zhè shì…)
计划继续进行升级:
10->11
11->12
12->13
13->14
这是计划吗?计划尚未确定。
如果有更好的建议,请指出我哪里做错了。
请参阅这篇文章。