当前位置:

首页 > 编程开发 > git解决Filename too long错误【排查】

git解决Filename too long错误【排查】

Windows上gitclone报“Filenametoolong”错误,源于系统MAX_PATH默认260字符限制,Git检出时调用API创建深层路径失败。常见于node_modules、Pods等嵌套场景。需启用Git的core.longpaths(全局或局部),并开启Windows系统级长路径支持(组策略或注册表),最后重启。若受限,可将仓库克隆到根目

Windows 上 git clone 报“Filename too long”错误,是因系统 MAX_PATH 默认限制 260 字符(含盘符、分隔符及文件名),Git 检出时调用 Windows API 创建深层路径失败;常见于 node_modules 嵌套、iOS Pods 或 Ja va 生成路径等场景。

git解决Filename too long错误【排查】

说起来你可能不信,这个“文件名过长”的错误,锅还真不能全甩给 Git。背后真正捣鬼的,是 Windows 系统自己设下的那道 260 字符的“长城”——MAX_PATH 默认限制(含盘符、所有反斜杠和文件名)。Git 下载文件本身没问题,但到了检出那一步,它调用 Windows API 去创建深层路径里的文件时,系统直接甩回一句“不行”,于是就有了 fatal: cannot create directory at 'xxx': Filename too long 或 error: unable to create file xxx: Filename too long。

哪些场景最容易踩坑?来,对号入座:

  • 项目放在 C:\Users\YourName\Documents\GitHub\... 这种长路径底下
  • 前端项目带着 node_modules,尤其里面嵌套了 scope 包(比如 @types/react-router-dom)
  • iOS 项目里的 Pods/ 或 Swift Package 依赖,路径动辄十几层
  • Ja va/Ma ven 项目生成的 shaded jar,路径里夹杂着超长的 classifier 和时间戳

检查当前 core.longpaths 是否已启用

别急着动手改系统,先看看是不是 Git 配置压根没开——很多小伙伴装完 Git for Windows 后,根本没碰过这个开关。

打开 Git Bash 或命令行,敲一句:

git config --get core.longpaths

如果返回 false 或者啥都没有,那说明还没启用;如果返回 true 却依然报错,那就得排查系统级限制是否真的解除了,或者路径已经飙到了 32767 字符的极限(虽然极少见)。

注意作用域的优先级:--local > --global > --system。万一某个仓库目录下的 .git/config 里显式写了 longpaths = false,那它会把全局设置给覆盖掉。

快速启用长路径支持(推荐首选)

对绝大多数情况来说,一条命令就能搞定,连重启都不用:

  • 全局启用(影响所有仓库):
    git config --global core.longpaths true
  • 仅对当前仓库启用(适合没管理员权限的环境):
    git config core.longpaths true
  • 克隆时临时启用(适合单次操作):
    git clone -c core.longpaths=true  

执行完再跑一次 git config --get core.longpaths,确认返回 true。如果仍然报错,八成是 Git 进程没读到新配置——关掉终端重开,或者重启一下 IDE(像 VS Code、IntelliJ 之类的),问题基本消失。

Windows 系统级长路径支持必须打开

这一步最容易被忽视:哪怕 core.longpaths = true 设好了,如果 Windows 系统自己还锁着长路径开关,Git 底层调用 API 时照样会失败。两把钥匙缺一把都不行。

根据你的系统版本,选一个操作:

  • Windows 10/11 专业版/企业版:运行 gpedit.msc → 计算机配置 → 管理模板 → 系统 → 文件系统 → 找到“启用 Win32 长路径” → 设为“已启用” → 重启电脑
  • Windows 家庭版:运行 regedit → 定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem → 把 LongPathsEnabled 的 DWORD 值改成 1 → 重启电脑

注册表项如果不存在,手动新建一个就行。修改前最好先把原值导出备份一下。这个设置是系统级的开关,Git 的 core.longpaths 只有站在它的肩膀上才能真正生效。

比较棘手的是:有些企业环境禁用了组策略或注册表编辑器。那只能换个思路——把仓库克隆到根目录下,比如 D:\p\,强行压短初始路径长度。这招虽然土,但实测屡试不爽。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 git
相关文章 更多
git创建分支bip的命令及完整操作步骤
git创建分支bip的命令及完整操作步骤

想知道如何用Git创建名为bip的分支?本文提供清晰的命令行操作步骤,包括本地创建、切换分支以及推送到远程仓库的方法,适合初学者快速上手。

GitLab新手创建项目并推送第一次提交的操作指南
GitLab新手创建项目并推送第一次提交的操作指南

本文指导GitLab新手完成创建项目并推送第一次提交的最小闭环。涵盖远程项目创建、本地仓库初始化、添加远程地址及执行git push。重点说明HTTPS与SSH认证差异、分支名(master/main)核对及提交验证标准,确保远程仓库真正建立。

在小说搜搜找不到想看的小说怎么办?小说搜搜换源功能使用详解【必学】
在小说搜搜找不到想看的小说怎么办?小说搜搜换源功能使用详解【必学】

小说搜搜搜索不到结果?五种实用解决方法帮你搞定 在小说搜搜里搜不到想看的书?这事儿其实挺常见。问题多半出在书源上——要么是默认的书源还没来得及收录,要么是原先的源数据失效了,更新没跟上。别急,下面这五条解决路径,基本能覆盖绝大多数情况,操作起来也不复杂。 一、通过阅读页调出换源入口手动切换 这个方法

怎么看B站UP主直播的真实人数?在线观看人数换算教程
怎么看B站UP主直播的真实人数?在线观看人数换算教程

“实时人气”不等于真实在线人数,需通过区分标识、验证列表与弹幕、第三方工具比对及互动加权扣除四步估算 当你点开B站的某个直播间,屏幕上那个“实时人气:12.8万”的数字可能让你心头一震,觉得场面火热。然而细看之下,弹幕寥寥无几,互动屈指可数——这场景是不是有点眼熟?问题来了:那个醒目的“人气值”,真

chrome搜索免验证入口
chrome搜索免验证入口

Chrome官方免验证入口为https://www.google.cn/chrome/,提供全平台安装包、免登录即用、本地化安全机制及引擎级性能优化。 到底该去哪里找正版、免费且无需繁琐验证的Chrome浏览器入口?这个问题困扰了不少网友。今天,我们就来直通核心,为大家详细拆解Chrome引擎的官方

Mac导入Android项目指南
Mac导入Android项目指南

网上关于在mac上导入现有项目的android studio操作教程多种多样,以下是我在实际操作中成功导入项目所采用的具体步骤及关键注意事项,供各位开发者参考。 网上的教程确实五花八门,但核心流程其实万变不离其宗。根据多年经验,想要在Mac上把已有的Android项目顺利导入Android Stud

过程式编程、面向对象编程、函数式编程、泛型编程、元编程
过程式编程、面向对象编程、函数式编程、泛型编程、元编程

命令式编程关注执行步骤,声明式描述目标,函数式强调无副作用。回调函数作为参数传递,可导致回调地狱,后由Promise解决。仿函数重载`operator()`,lambda更轻量。元编程生成代码,如模板、装饰器、宏,提升抽象能力。

如何配置Python项目的.gitignore文件_排除环境相关冗余文件
如何配置Python项目的.gitignore文件_排除环境相关冗余文件

Python项目配置.gitignore应排除__pycache__、虚拟环境(venv/.venv等)、IDE生成文件(.idea/.vscode等)及缓存目录。误提交后需用`gitrm--cached`移除索引。建议复用GitHub官方模板并验证规则有效性。

怎么在VSCode中查看Git冲突记录-图形化合并分支操作实操
怎么在VSCode中查看Git冲突记录-图形化合并分支操作实操

VSCode不保存历史冲突记录,仅在合并时实时标记冲突文件。冲突文件位于源代码管理面板的MERGECHANGES分组,带红色感叹号和冲突数量。点击文件以三栏合并编辑器显示当前分支、传入分支和结果区,供用户编辑解决冲突。

Atom如何使用GitHub Desktop?Atom与GitHub Desktop协同工作指南
Atom如何使用GitHub Desktop?Atom与GitHub Desktop协同工作指南

Atom与GitHubDesktop无法集成,需要两者在同一仓库目录下各自独立工作。GitHubDesktop不支持Atom作为默认编辑器,并且Atom的GitHub包已经弃用。建议直接打开文件夹,并且确保Git配置一致。GitHubDesktop不会自动刷新,需要手动刷新。推荐Atom负责编辑,而GitHubDesktop执行Git操作。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Adobe Acrobat Pro macOS版
Adobe Acrobat Pro macOS版
Mac

Adobe Acrobat Pro 是面向办公、法务、财务、教育及出版用户的专业PDF处理软件,可在Mac上创建、编辑、转换、合并和保护文档,并提供OCR文字识别、表单、批注、内容比较、敏感信息遮盖及电子签名功能。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

Shapr3D macOS版
Shapr3D macOS版
Mac

Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。

WINDOWS 更多
AutoCAD Windows版
AutoCAD Windows版
Windows

AutoCAD 是 Autodesk 推出的专业计算机辅助设计软件,Windows 版支持精确二维绘图、三维实体与曲面建模、图纸标注、布局发布和任务自动化,并包含多套行业专业化工具组合,适用于建筑、机械、电气、工程建设及制造设计人员。

Adobe Acrobat Pro Windows版
Adobe Acrobat Pro Windows版
Windows

Adobe Acrobat Pro 是面向专业 PDF 工作的综合解决方案,可在 Windows 中创建、编辑、转换、比较、整理和保护文档,并支持表单、电子签名、扫描件文字识别及敏感信息永久遮盖。订阅还包含网页、移动服务和云端协作能力,

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。