Azure DevOps添加Stage后Npm Install任务找不到包文件夹
Azure DevOps部署任务中npm install找不到ADF/build目录的解决办法
可行解决方案
显式指定npm工作目录
deployment job的默认工作环境和普通build job存在差异,虽然其他任务能正常访问目标路径,但npm的路径查找逻辑可能出现偏移。直接在npm任务里指定工作目录,强制它在ADF目录下执行命令:- task: Npm@1 inputs: command: 'install' workingDirectory: '$(Build.SourcesDirectory)/ADF'让deployment job复用build工作区
deployment job默认使用独立的Deployment工作区,而普通build任务用的是Build工作区,可能存在文件同步的细微差异。可以在deployment job配置里显式指定复用build工作区:jobs: - deployment: DeployADF workspace: build environment: '你的环境名称' strategy: runOnce: deploy: steps: - task: Npm@1 inputs: command: 'install' workingDirectory: '$(Build.SourcesDirectory)/ADF'
问题原因分析
普通build任务和deployment job的工作空间机制有区别:
- 普通build任务直接在
$(Build.SourcesDirectory)下运行,所有步骤共享同一工作目录 - deployment job默认会创建独立的部署工作空间,即便路径显示为
/home/vsts/work/1/s,但文件同步逻辑或npm自身的路径解析(比如向上查找package.json、node_modules)在这个环境下出现了偏差,导致找不到指定的build目录。而其他任务是通过绝对路径直接访问,因此不受影响。
内容的提问来源于stack exchange,提问作者SimonK
相关产品推荐
相关产品推荐

