升级 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
这是计划吗?计划尚未确定。

如果有更好的建议,请指出我哪里做错了。

请参阅这篇文章。

 

广告
将在 10 秒后关闭
bannerAds