git clone 提示Filename too long
在clone flink 源码时总是提示失败,报错信息未Filename too long。
报错信息
报错详细信息如下:
unable to create file flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-over-aggregate_1/over-aggregate-bounded-non-partitioned-rows-with-out-of-order-records/plan/over-aggregate-bounded-non-partitioned-rows-with-out-of-order-records.json: Filename too long unable to create file flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-over-aggregate_1/over-aggregate-bounded-partitioned-preceding-rows-with-out-of-order-records/plan/over-aggregate-bounded-partitioned-preceding-rows-with-out-of-order-records.json: Filename too long

问题原因
这是由于 Windows 对文件路径长度的限制(默认最大路径长度为 260 个字符),需要打开限制。
主要影响包含iOS框架、Node.js项目或其他具有深层嵌套目录结构的项目。
处理方法
方案一:启用Git长路径支持(推荐)
# 全局启用长路径支持
git config --global core.longpaths true# 如果已经克隆但checkout失败,使用以下命令恢复
git restore --source=HEAD :/
原理说明:
core.longpaths告诉Git使用Windows的长路径API- 这允许处理超过260字符的路径
- 适用于Windows 10版本1607及更高版本
方案二:系统级启用长路径支持
对于Windows 10/11用户,可以在系统级别启用长路径支持:
通过组策略编辑器:
- 按
Win + R,输入gpedit.msc - 导航到:计算机配置 → 管理模板 → 系统 → 文件系统
- 启用"启用Win32长路径"策略
通过注册表:
# 以管理员身份运行命令提示符
reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1
详细可以参考:
https://blog.csdn.net/olixu/article/details/150773663?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-150773663-blog-145682027.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-150773663-blog-145682027.235%5Ev43%5Econtrol&utm_relevant_index=5
