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

Ubuntu环境下azure/webapps-deploy@v2报Windows长路径错误求助

问题原因

你看到的Windows长路径错误并非来自运行Workflow的Ubuntu环境,而是你的Azure App Service是Windows操作系统。azure/webapps-deploy@v2执行的ZIP Deploy会将本地打包的文件上传到Azure App Service并在云端解压,解压过程是在App Service的Windows环境中进行的,因此触发了Windows特有的260字符路径长度限制。

排查过长路径的方法

1. 确认App Service环境类型

登录Azure门户,查看你的App Service配置,确认它是否属于Windows计划(而非Linux计划)——这是触发该错误的前提。

2. 在Workflow中添加路径扫描步骤

在打包完成后、部署前,加入一段脚本扫描本地生成的文件,找出路径长度接近或超过260字符的文件。具体命令如下:

扫描并输出路径长度≥260的文件(含长度数值)

find "$(pwd)" -type f | awk '{if(length($0)>=260) print length($0) " " $0}'

仅输出过长路径

find . -type f -exec bash -c '[[ ${#1} -ge 260 ]] && echo "$1"' _ {} \;

将这段命令加入你的GitHub Workflow中,示例如下:

- name: Check for long paths
  run: |
    find "$(pwd)" -type f | awk '{if(length($0)>=260) print length($0) " " $0}'
  working-directory: ./your-build-output-directory # 替换为你的打包输出目录

3. 对应Azure端的路径计算

注意:Azure App Service解压时的路径会包含云端的站点根目录(比如D:\home\site\wwwroot\),所以本地路径长度加上云端根目录的长度可能会超过限制。如果本地路径接近200字符,就需要警惕是否会触发云端的260限制。

临时解决思路
  • 缩短目录层级:简化打包输出的目录结构,减少嵌套层数
  • 重命名长文件名:将过长的文件名或目录名改为更短的名称
  • 开启Windows长路径支持:在App Service的「配置」→「应用设置」中添加WEBSITE_ENABLE_LONG_PATH = 1,部分场景下可以解除260字符限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:54:24