如何解决Angular+Node.js构建时workingDirectory不存在错误?
错误原因及解决方法
核心错误点
第三个构建步骤的workingDirectory配置错误:该参数需要直接填写目标路径,而非执行cd命令。你当前写的cd Frontend/Frontend会被系统当作完整路径去查找,导致找不到对应目录。
修正后的Pipeline步骤
- task: NodeTool@0 inputs: versionSpec: '16.14' displayName: 'Install Node.js 16' - script: | npm install -g @angular/cli cd Frontend/Frontend npm install -g npm@latest npm cache clean --force rm -rf node_modules package-lock.json npm install displayName: 'Install Angular CLI and Node.js dependencies' - script: ng build --prod displayName: 'Build Angular app' workingDirectory: 'Frontend/Frontend' # 直接填写相对路径,去掉cd命令 - script: npm test displayName: 'Run Node.js tests' workingDirectory: 'Frontend/Frontend' # 测试步骤也需指定到项目根目录
额外优化建议
- 原第二个脚本里的
npm rm -rf node_modules是错误命令,已修正为rm -rf node_modules,无需通过npm执行删除操作。 - 无需连续执行
npm install和npm install --force,正常执行npm install即可,仅当依赖冲突无法自动解决时再加--force参数。 - 若不确定目录结构是否正确,可在Pipeline中添加目录验证步骤:
- script: ls -la /home/vsts/work/1/s displayName: 'Check repository directory structure'
内容的提问来源于stack exchange,提问作者karthik
相关产品推荐
相关产品推荐

