第一次体验到了 macos 文件系统设计对项目构建和运行的负面影响

75 天前
 mylovesaber

macos 用的文件系统默认是不区分大小写的,也就是 README.mDreadMe.MD 是相同的文件,之前有考虑改成大小写敏感的文件系统,但是看其他人测试,发现有些软件会出现兼容性问题,只好放弃。

然后我遇到这种情况:用 idea 写完代码调试完成后打包上线,winserver 和 linux 服务器上线项目一直报错,但是 idea 没有任何代码层面的飘红,编译打包也没有报错,找半天才发现问题,有一个文件名 ThisIsTestFile.java 写成了 ThisisTestFile.java ,我把文件名改对后再打包还是没错,winserver 和 linux 上线也能正常运行了。。。

以前没入行的时候听网友调侃说:

让程序员对象崩溃的办法就是把代码中的半角冒号:改成全角冒号:
让 ta 面对满屏幕的飘红而不知所措!

感觉这个冷笑话可以改一下了:

把 ta 在苹果电脑中写的所有代码文件名称中随机改几个字母的大小写!
让 ta 靠 ide 运行项目找不到报错,但他的实施同事始终无法正常启动项目!
1415 次点击
所在节点    OpenAI
13 条回复
Tink
75 天前
APFS 默认确实是不区分大小写的,所以我一开始就给他格成区分大小写的了
alleluya
75 天前
win 不是也不区分大小写么....
hronro
75 天前
我好几台 Mac 都是重新格式化成大小写敏感的 APFS 格式的,除了 Steam 以外没遇到过什么其他的软件兼容性问题。
shoaly
75 天前
才知道这个冷知识, 心头一紧的同时好奇为啥这么久没触发过这个 bug
看了一眼 vscode 原来...我都是远程开发的, 哈哈哈瞬间放心了
julyclyde
75 天前
嗯,之前也遇到过类似的问题
git clone 下来然后 git status 就直接显示有变化了(其实是有俩文件名字相同大小写不同,clone 过程中覆盖了)
v166ex
75 天前
感谢提醒!一直以为 Macos 是完全延续某些*nix 理念...
OnEvent
74 天前
@hronro Adobe 系列的软件似乎不支持大小写敏感的 APFS
mylovesaber
74 天前
@v166ex macos 的部分命令其实不是 gnu 命令,比如都叫 sed ,其实是 macos 和 gnu 两种版本,macos 版好像是个残血版
mylovesaber
74 天前
@OnEvent 那应该是了,我印象中以前见到有人提到过,但是想不起来是什么软件了
mylovesaber
74 天前
@shoaly 要不是用 ai 复制粘贴代码,我都没发现这个 bug ,那天找了一天头都找大了,死活解决不了无法启动的问题,最后没招了把整个仓库喂给 gemini ,几秒后 gemini 问我: 你是不是用的 macos 。。。
mylovesaber
74 天前
@alleluya win 和 linux 各种文件系统都是严格大小写敏感的啊。。。你记错了吧?
mylovesaber
74 天前
@Tink 之前印象中在 v2 上看到过有人说格成大小写敏感后,有些软件工作异常,然后就放弃了,老老实实用默认的🌚
alleluya
74 天前
@mylovesaber #11 我搜了下 win 默认就是不区分的 除非是启用 wsl 后配置大小写敏感 实际上也是 之前 win 上 Git 提交修改文件名 本地看就没改过来 还是 a->b->A 才改过来的 你才记错了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1162309

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX