文章更新
- 20170312-初次成文
为什么会有这篇文章
这是我从git for windows全面转向使用cygwin之后遇到的一个错误,有几天了,一直没有仔细检查错误的原因。今天终于抽空解决了一下。
错误描述
当你安装了cygwin,并且没有独立安装git for windows的时,而是使用了cygwin下的git插件,使用VSCODE打开一个git管理的项目,就会遇到一个错误ENOENT: no such file or directory, lstat 'C:\cygdrive'。
解决办法
- 安装git for windows
- 关于VSCODE中的git集成工程
- 使用软连接让vscode正确找到cygwin下的git插件(本文方法)
建立软连接
其实很简单,Windows下按WIN键,输入cmd,然后鼠标右键,选择以管理员身份打开

然后如果看到打开的命令行窗口左上角显示管理员即可

然后输入
mklink /j "C:\cygdrive" C:\cygwin64\home\tinyv
然后重启vscode,点击左侧的git图标,如果发现还出现错误,并且错误是ENOENT: no such file or directory, lstat 'D:\cygdrive\c'
则还需要下一步
进入你刚刚建立的c:/cygdrive,命令
cd c:/cygdrive
然后输入命令
mklink /j "C:\cygdrive\d" D:\
重启vscode,错误应该就好了。
几个说明
第一步中的tinyv,是你在c:/cygwin64/home目录下的用户名,这个要改成你自己的具体名字。
第二步中的D:\,是你用VSCode打开的项目所在的盘符,我的项目在d盘下,所以这里的错误提示是/cygdrive/d,这个也要修改成具体的盘符,而不能生搬硬套我的写法。