You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline中ng test命令执行失败问题排查

解决Azure Pipeline中npm缓存tmp目录ENOTEMPTY错误

这个错误并非源自项目内的node_modules或package_lock.json,而是npm全局缓存的临时目录存在残留文件或被占用导致的,以下是针对性解决办法:

  • 强制清理npm全局缓存
    在Pipeline任务中添加命令,直接清理npm缓存的临时目录:

    npm cache clean --force
    

    若使用Windows自托管代理,也可通过PowerShell手动删除目标目录:

    Remove-Item -Recurse -Force "C:\Users\DevOps-AgentPools-sr\AppData\Roaming\npm-cache\_cacache\tmp" -ErrorAction SilentlyContinue
    
  • 开启Pipeline工作区全量清理
    在YAML配置的作业级别开启工作区清理,确保每次运行前代理机器的残留文件被彻底清除:

    jobs:
    - job: BuildJob
      workspace:
        clean: all # 清理代理上所有工作区内容,包括缓存类文件
    
  • 跳过npm缓存执行安装
    在npm install命令中添加参数,避免使用全局缓存,或指定项目内的临时缓存目录:

    # 完全跳过缓存
    npm install --no-cache
    
    # 指定项目内临时缓存目录,后续随工作区清理一同删除
    npm install --cache ./.npm-tmp-cache
    
  • 终止占用缓存的进程
    若为自托管代理,可能存在未正常退出的npm进程锁定了缓存目录,可先终止相关进程再执行清理:

    Get-Process -Name npm -ErrorAction SilentlyContinue | Stop-Process -Force
    

内容的提问来源于stack exchange,提问作者Rajesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:42:24