「自分のPCでは動くのに」

「ここから右へ、そして上へ」。同じ道順でも、立つ場所が違えば別の場所に着く
「ここから右へ、そして上へ」。同じ道順でも、立つ場所が違えば別の場所に着く

あるエンジニアがスクリプトを書いた。 cat ./config/settings.json プロジェクトディレクトリから実行。問題なく動く。本番にデプロイして、ビルドも成功…なのにアプリが落ちた。エラーログにはたった一行。 No such file or directory。

原因は、サーバー上ではスクリプトが別のディレクトリから実行されていたこと。./config/settings.json は「今いる場所」が正しくないと機能しない。cd ひとつでパスが壊れる。 これが相対パスの罠。だからベテランのエンジニアはスクリプトや自動化では絶対パスを使います。相対パスは手作業のナビゲーションには便利だけど、スクリプトはあなたのように「自分がどこにいるか」を知らない。

どちらのパスをいつ使うか。その判断ができることが、ターミナルを「使える」と「わかっている」の違いになる。