u在JSON中声明的Angular CLI版本与u使用的Angular核心版本不兼容:如果你发布完整的package.JSON文件内容,会更清楚。
我在angular docker项目上有这个错误:
industrialareas_angular_ctnr | This version of CLI is only compatible with Angular versions ^13.0.0-next || >=13.0.0 <14.0.0,
industrialareas_angular_ctnr | but Angular version 12.2.16 was found instead.
我的Dockerfile角度文件是:
FROM node:14
WORKDIR /usr/src/app
RUN npm uninstall -g @angular/cli
RUN npm uninstall @angular/cli
RUN npm i @angular/cli@12.2.8
RUN npm cache clean --force
COPY ./project/package*.json .
RUN npm install
RUN npm link @angular/cli
COPY ./project .
EXPOSE 4200
CMD npm start
我的docker-compose.yml文件是:
version: '3.7'
services:
angular:
container_name: industrialareas_angular_ctnr
build:
context: .
dockerfile: Dockerfile-angular
restart: unless-stopped
volumes:
- ./project/src:/usr/src/app/src
ports:
- 4200:4200
package.json文件是:
...
"dependencies": {
...
"@angular/core": "~12.2.0",
...
},
"devDependencies": {
...
"@angular/cli": "~12.2.8",
...
我已经检查了这个链接的兼容性版本
有人能帮我吗?提前谢谢。
为了解决这个问题,您可以将angular core版本升级到13.0.0或更高版本,也可以降级angular cli版本:该链接不是来自官方文档,所以它不可行
问题是node带来了angular cli的最新预定义版本,特别是@angular/cli@13.2.3而docker命令默认情况下就是这样。
在Dockerfile:上替换此行
RUN npm link @angular/cli
到此:
RUN npm link @angular/cli@12.2.8
一切正常!