瞎扯淡 你们会把 macOS 转成大小写敏感吗?

pynix · 2017年09月09日 · 最后由 flowerains 回复于 2017年09月18日 · 2982 次阅读

苹果默认安装是不敏感的,有时候本地跑的好好的,扔到服务器就出错了,吃了很多次亏了,决心转为大小写敏感,会造成其他问题吗?

共收到 30 条回复

从未遇到过你说的这个问题

会,不要高估苹果的工程能力,他们总会在出其不意的地方狠坑你一把

jasl 回复

求不坑。。

等10.13的afs吧

BenX 回复

afs有什么改进吗?

AFS 有小白测试过么?跟现有的软件系统和开发环境兼容性如何?

lgn21st 回复

我复制了一份启动盘,可以测试看看。。

lgn21st 回复

去recovery下看了一下,他说是pre release ,然后就怂了。。。。没敢转

一般ide都会有提示,不会大小写错误

gaicitadie 回复

好吧

对了,老的不要改,改了有一些软件有兼容性问题。我记得是Adobe系

我会在和服务器一样的环境开发,以前用 vagrant,现在用 docker。

BenX 回复

网上都是阿逗逼系列有问题,但是都我不用。

Rei 回复

docker在mount volume的时候仍然需要面对case问题。。。

pynix 回复

擦,查了下果然,主机是 case-insensitive,mount 进去依然是 case-insensitive。

https://docs.docker.com/docker-for-mac/osxfs/

我不用大写路径,所以没踩过坑。

不过 docker 文档也写了,Mac 软件都是在 case-insensitive 环境开发的,不推荐格成 case-sensitive

We do not recommend reformatting your root partition as some Mac software dubiously relies on case-insensitivity to function.

让持续集成环境尽可能地接近生产环境(通常是 Linux,使用大小写敏感的文件系统),如果测试覆盖较完整的话,应该可以在测试阶段就发现问题。 如果某些文件实在懒得去写测试覆盖,可以尝试自己写个脚本去测:https://gist.github.com/5long/1abc1b7d8c1adf71044ae5a596a2dff5

至于在开发环境下检查,我的意见是干脆不要在 Mac 环境下过多考虑这种问题。直接用 Vagrant 跑个虚拟机,再运行上面的脚本好了。

分一个 case sensitive 的卷就好, 不然玩不了游戏

朋友遇到这么个情况:

他写php,重置系统改成了大小写敏感。

有一天需要安装个Photoshop,然而ps不能安装在大小写敏感的分区。💢

滑稽

BenX 回复

Adobe系要求分区不敏感😀

觉得并没有这个必要,写代码时注意就好了

扔到服务器前至少要用docker跑一下

有一次在 Mac 上修改 OpenWRT 并编译的时候就遇到过这个问题,OpenWRT 的编译要求里就写了需要 case sensitive 的分区。把整个分区改了肯定会有兼容性问题,不好作死。我的方法比较暴力,搞了个虚拟磁盘文件,这个虚拟磁盘弄成 case sensitive 的分区,然后挂载上来就是了。

创建大小写敏感的工作区

在多人合作的项目开发时,因为 Mac 文件系统默认是大小写不敏感的,所以经常会出现一些诡异的问题。创建一个大小写敏感的工作区(workspace)来解决避免这些问题:

hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 100g -volname workspace ~/Documents/workspace.dmg.sparseimage

可以通过三种方式挂载镜像:

  1. 直接双击打开 ~/Documents/workspace.dmg.sparseimage
  2. open ~/Documents/workspace.dmg.sparseimage
  3. hdiutil attach ~/Documents/workspace.dmg.sparseimage

链接:https://github.com/macdao/ocds-guide-to-setting-up-mac

直接整个分区转换了,目前没有发现什么问题,brew doctor有个warning。

几年前试过会有问题。

webpack 就有插件 case-sensitive-paths-webpack-plugin

Steam 坑,我就不尝试了,浪费时间。等。

没必要。文件命名都是用小写和 dash 的格式,混几个大写自己看得也费劲。带有随机生成的 code 的文件名是唯一可能碰到坑的问题。不过本地环境又不会生成那么多……

写 ruby 的估计不会遇到 case sensitive 的问题,因为文件命名习惯都是小写+下划线,别的社区就不好说了。

目前我知道的,Adobe 的应用在 Mac 大小写敏感的分区会有问题

不敢尝试,除非重装系统。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册