在区分大小写的文件系统上进行开发有什么好处吗?
我最近听说 Adobe 产品不能在区分大小写的文件系统上运行。在区分大小写的文件系统上进行开发是避免此类问题的最简单方法吗?
回答这个问题:不,当您的产品部署到大小写不敏感的文件系统(例如 HFS+ 的默认配置,HFS+ 是任何 Mac OS X 机器上的文件系统)时,您会遇到相同的问题。 最好的策略是在您的开发机器上构建它,并在区分大小写和不敏感的系统上测试它。 如果您有默认的 Mac OS X 安装,则您的文件系统不区分大小写。 获取区分大小写的文件系统的一种方法是使用磁盘实用程序创建区分大小写的读/写磁盘映像。
当然,您仍然不会在完全区分大小写的环境中进行测试 - ~/Library/Application Support 仍然位于不区分大小写的系统上。 您可能需要创建一个用户,其主目录是指向区分大小写的磁盘映像的符号链接。 不知道行不行,没试过。
此外,我始终建议在尽可能接近生产的系统上进行开发。
设计使其可以在区分大小写的 FS 上正确运行
在磁盘上:
> ls ~/.config/my-hilarious-app/
userprofile.cfg
然后在你搞笑的草率应用程序中
// ./src/somewhere/in/the/codebase.ts
function contrivedUserProfileLoadingExampleOne() {
await fs.readFile('USERPROFILE.cfg')
}
以及其他地方(稍后编写或由其他开发人员编写)
// ./src/in/some/other/location/entirely/different.ts
function yetAnotherContrivedUserProfileLoadingExample() {
await fs.readFile('userprofile.cfg')
}
在编写代码时,您保存了这两个文件,并且没有引发任何问题。所以你部署了它。
👏 现在您的应用程序只能在不区分大小写的文件系统上运行......🤝 世界感谢您。 🙄
在区分大小写的文件系统上进行开发会在您将这些提交推送以供审核之前立即引发错误。