对于我正在开发的 Java 应用程序,我们将一些 Ubuntu 字体存储在我们的 git 存储库中。请记住,对于使用类似设置的其他机器上的其他开发人员来说,这一切都按预期运行。
此问题仅在使用 WSL Git 时发生,而不会在使用 Git for Windows/Git Bash (gitforwindows.org) 时发生。
当这些字体文件位于 git repo 中时,Windows(特别是 System32/fontview.exe)以及我们的应用程序无法打开/加载这些字体文件。
请求的文件...不是有效的字体文件。
mv
将同一个文件复制到 Git 存储库之外的任何位置,Windows 都可以打开该文件。文件是相同的(使用 检查sha1sum < fontfile.ttf
)。
将该文件复制到新初始化的 Git 存储库时也会引发同样的错误。
对于所有 ttf 文件来说都是如此,即使它们是从网络上新下载的。
即使rm -rf .git
文件仍然无法打开/加载。该特定目录名称不知何故受到了永久影响。
重启后问题仍然存在。
答案1
我们被告知,虽然从 WSL 访问 Windows 文件是可以的(通过 /mnt/c、/mnt/d 等),但由于 Linux 文件系统在 Windows 中的模拟方式(?),不支持反过来操作。
因此,在尝试使用基于 Windows 的工具访问文件之前,您应该将文件复制到 Windows 环境中适当的位置(例如 /mnt/c/Users/joebloggs/workspace ....)。
然而,事情可能会发生变化,这个新功能将允许您像网络驱动器一样访问 Linux 文件系统:
https://betanews.com/2019/02/16/access-linux-files-from-windows/
如果您只想在 Windows 中运行 git,请使用不带 WSL 的“Git for Windows”!例如https://git-scm.com/download/win