あいつの日誌β

働きながら旅しています。

MacOSXファイルシステムの罠

こんなモジュールをつくってみます。

% cat lib/hogeFuga.js
console.log('hogeFuga.js');

requireします。実行できます。

% node -e "require('./lib/hogefuga.js');" 
hogeFuga.js

そんな訳で小生は思いました。

「へーnodeのrequireて大文字小文字関係ないんだあ」

ちがいます

MacOSXファイルシステムは通常大文字小文字を区別しません。

% cat lib/hogeFuga.js
console.log('hogeFuga.js');
% cat lib/hogefuga.js   
console.log('hogeFuga.js');

結果

お昼休みから帰ってくると同僚が「Mac上では動くのに何故かLinux上で動かない怪奇現象」と戦っていたりするので諸卿も気をつけるとよい。