2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Macの大文字/小文字を区別しない仕様でハマった

Posted at

環境

以下の環境で動作させています。

% sw_vers
ProductName:	macOS
ProductVersion:	12.6.5
BuildVersion:	21G531

ハマってしまった事象

Macが大文字/小文字を区別しない仕様を失念していて、Mac環境で動作していたコードがLinux環境へのデプロイした際にエラーを引き起こしました。

// classes/trait/fuga.php というトレイトファイルを呼び出したい


【classes/piyo.php】

namespace Hoge;

use Hoge/Trait/fuga.php // traitというディレクトリを大文字で記述してしまったことでエラーが発生

Macで「aa.php」と「AA.php」の作成を試みたところ、「AA.php」という名前の新しいファイルは作成されず、「aa.php」が更新されるだけでした。

% touch aa.php
% ls
aa.php
% touch AA.php
% ls
aa.php

Macの大文字/小文字の区別はAPFSのオプションだった

事象について調べたところ、Macでの大文字と小文字の区別はディスクフォーマット時に
Apple File System(APFS) というファイルで指定されるオプションとなっていました。

同じような事象に見舞われていたブログがあったため同じ手順で確認したところ、自身の使用PCも大文字/小文字を区別しない設定になっていました。

https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_3890454_0291ef0c-6a40-7263-abaa-29deb33f3090.png

対処法も存在するらしいのですが、再フォーマットが必要とのことで一旦保留…。

所感

開発/反映先でのOSの違いによる仕様の違い、特に使用するMacの仕様について正しく理解をする必要があると再認識させられました。

参考にした記事

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?