In short, define the following environment variable:
CYGWIN=winsymlinks:nativestrict
According to Cygwin documentation:
If set to winsymlinks:native
or winsymlinks:nativestrict
, Cygwin creates symlinks as native Windows symlinks on filesystems and OS versions supporting them.
The difference between winsymlinks:native
and winsymlinks:nativestrict
is this: If the filesystem supports native symlinks and Cygwin fails to create a native symlink for some reason, it will fall back to creating Cygwin default symlinks with winsymlinks:native
, while with winsymlinks:nativestrict
the symlink(2)
system call will immediately fail.
You should also make sure you run Cygwin with elevated privileges (right-click the shortcut and choose Run as Administrator, or set the mintty
shortcut property, Advanced → Run as Administrator).
Some details are provided in the other answer.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…