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

2 天前
 mylovesaber

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

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

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

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

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

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