漫说前端 [ The road to be a better programmer. ]

Mac 大小写不敏感解决方案

日常使用 Mac 作为开发工具,有时会遇到本地代码正常,构建平台发布失败、找不到文件,部分是由于 大小写不一致 产生的问题。

image-20210111144800753

MacOS 默认磁盘分区不区分大小写,而构建环境多为 Linux/Unix 系统区分大小写,本地无法发现的问题就暴露在了后续环节。

举个例子

# 项目中存在如下两个文件
├─ icon.vue
└─ main.js
// main.js
import Icon from './Icon.vue'

上述的代码,在 Mac 本地可以正常执行,import 也可找到 icon.vue ,但在构建平台执行时,遇到

Module not found: Eroor: Can't resolve './Icon.vue' in '/xxx/xx/x/'

这时在编辑器将 icon.vue 重命名为 Icon.vue,执行 git diff,发现没有任何差异,git 无法感知变化;

那需要如何解决这个问题?

解决方案

方案一: git mv

git mv icon.vue Icon.vue

这相当于

mv icon.vue Icon.vue
git add Icon.vue

这时候可以完成文件名字修改并提交到 git 暂存区。

这个方案可以在发现问题后快速解决,但不能根治,本地开发依然无法发现问题;

方案二:Mac 磁盘配置大小写敏感(终极方案)

如果 Mac 是全新的,可以将配置文件设置为大小写敏感。

大部分同学电脑中都以有很多文件,重新配置磁盘不可取,这里可以选择方案:新增一个 APFS 宗卷(Volume)

  1. 打开 磁盘管理 (Disk Utility)

    image-20210111152545894

  2. 点击顶部 分区 (Partition) - 添加宗卷 (Add Volume)

    image-20210111152602342
  3. 设置宗卷名称,格式选择 APFS(区分大小写 Case-sensitive)

    image-20210111152749869 image-20210111153156584
  4. 点击 添加 完成新增宗卷

    image-20210111153400328

  5. 将代码转移至新增的宗卷,后续开发在此宗卷中(/Volumes/workspace)完成,即可在本地避免大小写问题;

    image-20210111153758997

后续的开发均在 workspace 宗卷中进行,即可避免大小写不敏感的问题 :)

作者:Deguang
创建时间:2021-01-11
修改时间:2021-01-11