如何解决在 Azure devops 中构建角度应用 docker 文件时失败
我正在尝试在自托管的 ubuntu 代理中使用 Azure DevOps 管道构建以下 Docker 文件。有人可以指导解决这个问题吗?
我尝试将 npm install 命令更改为 npm install -g npm@7.10.0,但随后在 RUN npm run build 步骤中失败。
我得到的错误如下所示
2021-04-20T17:29:23.6087494Z Step 1/19 : FROM node:alpine as builder
2021-04-20T17:29:23.6088225Z ---> 75631da67663
2021-04-20T17:29:23.6088879Z Step 2/19 : WORKDIR '/app'
2021-04-20T17:29:23.6089516Z ---> Using cache
2021-04-20T17:29:23.6090144Z ---> 41ea0360723e
2021-04-20T17:29:23.6090654Z Step 3/19 : COPY ./package.json ./
2021-04-20T17:29:23.6091289Z ---> Using cache
2021-04-20T17:29:23.6091915Z ---> e2b12492d38d
2021-04-20T17:29:23.6092418Z Step 4/19 : RUN npm install
2021-04-20T17:29:23.6093071Z ---> Running in ce397f7144a1
2021-04-20T17:29:26.7049157Z [91mnpm[0m[91m [0m[91mnotice[0m[91m
2021-04-20T17:29:26.7061095Z [0m[91mnpm[0m[91m [0m[91mnotice[0m[91m New minor version of npm available! 7.7.6 -> 7.10.0
2021-04-20T17:29:26.7098941Z [0m[91mnpm[0m[91m [0m[91mnotice[0m[91m Run `npm install -g npm@7.10.0` to update!
2021-04-20T17:29:26.7099797Z [0m[91mnpm[0m[91m [0m[91mnotice[0m[91m
2021-04-20T17:29:26.7125430Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m [0m[91mcode[0m[91m ERESOLVE
2021-04-20T17:29:26.7178554Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m [0m[91mERESOLVE[0m[91m unable to resolve dependency tree
2021-04-20T17:29:23.6092418Z Step 4/19 : RUN npm install
2021-04-20T17:29:23.6093071Z ---> Running in ce397f7144a1
2021-04-20T17:29:26.7049157Z [91mnpm[0m[91m [0m[91mnotice[0m[91m
2021-04-20T17:29:26.7061095Z [0m[91mnpm[0m[91m [0m[91mnotice[0m[91m New minor version of npm available! 7.7.6 -> 7.10.0
2021-04-20T17:29:26.7097494Z [0m[91mnpm[0m[91m [0m[91mnotice[0m[91m Changelog: <https://github.com/npm/cli/releases/tag/v7.10.0>
2021-04-20T17:29:26.7098941Z [0m[91mnpm[0m[91m [0m[91mnotice[0m[91m Run `npm install -g npm@7.10.0` to update!
2021-04-20T17:29:26.7099797Z [0m[91mnpm[0m[91m [0m[91mnotice[0m[91m
2021-04-20T17:29:26.7125430Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m [0m[91mcode[0m[91m ERESOLVE
2021-04-20T17:29:26.7178554Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m [0m[91mERESOLVE[0m[91m unable to resolve dependency tree
2021-04-20T17:29:26.7188992Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m
2021-04-20T17:29:26.7199171Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m While resolving: contacts-app@0.0.0
2021-04-20T17:29:26.7276600Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m Found: jasmine-core@3.4.0
2021-04-20T17:29:26.7277932Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m node_modules/jasmine-core
2021-04-20T17:29:26.7278852Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m dev jasmine-core@"~3.4.0" from the root project
2021-04-20T17:29:26.7279686Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m
2021-04-20T17:29:26.7280546Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m Could not resolve dependency:
2021-04-20T17:29:26.7281506Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m peer jasmine-core@">=3.5" from karma-jasmine-html-reporter@1.5.4
2021-04-20T17:29:26.7282444Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m node_modules/karma-jasmine-html-reporter
2021-04-20T17:29:26.7283389Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m dev karma-jasmine-html-reporter@"^1.4.0" from the root project
2021-04-20T17:29:26.7284206Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m
2021-04-20T17:29:26.7285237Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m Fix the upstream dependency conflict,or retry
2021-04-20T17:29:26.7286162Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m this command with --force,or --legacy-peer-deps
2021-04-20T17:29:26.7287135Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m to accept an incorrect (and potentially broken) dependency resolution.
2021-04-20T17:29:26.7287969Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m
2021-04-20T17:29:26.7288925Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m See /root/.npm/eresolve-report.txt for a full report.
2021-04-20T17:29:26.7740346Z [0m[91m
2021-04-20T17:29:26.7754185Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m A complete log of this run can be found in:
2021-04-20T17:29:26.7766084Z [0m[91mnpm[0m[91m [0m[91mERR![0m[91m /root/.npm/_logs/2021-04-20T17_29_26_725Z-debug.log
2021-04-20T17:29:27.3212293Z [0mThe command '/bin/sh -c npm install' returned a non-zero code: 1
2021-04-20T17:29:27.3263490Z ##[error]The command '/bin/sh -c npm install' returned a non-zero code: 1
2021-04-20T17:29:27.3320640Z ##[error]The process '/usr/bin/docker' failed with exit code 1
2021-04-20T17:29:27.3389602Z ##[section]Finishing: Docker
docker 文件
FROM node:alpine as builder
WORKDIR '/app'
COPY ./package.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx
EXPOSE 4200
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/dist /usr/share/nginx/html
package.json 如下所示。
{
"name": "contacts-app","version": "0.0.0","scripts": {
"ng": "ng","start": "ng serve","build": "ng build","build:prod": "ng build --prod","test": "ng test","lint": "ng lint","e2e": "ng e2e"
},"private": true,"dependencies": {
"@angular/animations": "~8.2.13","@angular/cdk": "~8.2.3","@angular/common": "~8.2.13","@angular/compiler": "~8.2.13","@angular/core": "~8.2.13","@angular/forms": "~8.2.13","@angular/material": "^8.2.3","@angular/platform-browser": "~8.2.13","@angular/platform-browser-dynamic": "~8.2.13","@angular/router": "~8.2.13","hammerjs": "^2.0.8","rxjs": "~6.4.0","tslib": "^1.10.0","zone.js": "~0.9.1"
},"devDependencies": {
"@angular-devkit/build-angular": "~0.803.18","@angular/cli": "~8.3.18","@angular/compiler-cli": "~8.2.13","@angular/language-service": "~8.2.13","@types/node": "~8.9.4","@types/jasmine": "~3.3.8","@types/jasminewd2": "~2.0.3","codelyzer": "^5.0.0","jasmine-core": "~3.4.0","jasmine-spec-reporter": "~4.2.1","karma": "~4.1.0","karma-chrome-launcher": "~2.2.0","karma-coverage-istanbul-reporter": "~2.0.1","karma-jasmine": "~2.0.1","karma-jasmine-html-reporter": "^1.4.0","protractor": "~5.4.0","ts-node": "~7.0.0","tslint": "~5.15.0","typescript": "~3.5.3"
}
}
解决方法
根据您的错误消息,karma-jasmine-html-reporter@1.5.4
需要 jasmine-core@3.5.0
及更高版本,但在您的 package.json
中,您使用的是 jasmine-core@3.4.0
。
您可以将 karma-jasmine-html-reporter
版本降级到 1.4.2
或将 jasmine-core
版本升级到 3.5.0
。请注意不要与您的应用程序产生新的冲突。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。