【Node.js24.x】Object::realpathSync()メソッドの使い方
realpathSyncメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
realpathSyncメソッドは、指定されたファイルパスを解決し、そのパスが示すファイルやディレクトリの正規の絶対パスを取得するメソッドです。このメソッドの主な役割は、シンボリックリンク(別のファイルやディレクトリへの参照)をたどり、相対パス(現在の場所からの相対的な位置を示すパス)や.、..といった特殊な表記を展開して、最終的に実体のあるファイルやディレクトリの完全な物理パスを特定することです。
例えば、あるファイルが複数のシンボリックリンクを介して参照されている場合でも、realpathSyncメソッドはそれらのリンクを一つ一つ辿り、最終的にそのファイルが存在する正確な場所のパスを返します。これにより、実際のファイルの場所を確認したり、パスの表記ゆれをなくして標準的な形式に統一したりすることが可能になります。
このメソッドは同期的に動作します。つまり、パスの解決処理が完了するまで、Node.jsの実行環境における他のJavaScriptコードの実行が一時的にブロックされます。そのため、ファイルシステムのI/O処理が多いアプリケーションや、パフォーマンスが重視される場面では、プログラムの応答性を保つために、非同期版のrealpathメソッドの利用を検討することが推奨されます。
処理が成功した場合は、解決された正規の絶対パスが文字列として返されます。もし指定されたパスが存在しない、アクセス権限がない、またはパスの解決に失敗するような問題が発生した場合は、エラー(例外)がスローされます。このメソッドは通常、Node.jsのfsモジュールからfs.realpathSync()として利用され、ファイルパスの厳密な管理が必要な場面で活用されます。
構文(syntax)
import fs from 'node:fs';
const resolvedPath = fs.realpathSync('/path/to/check/or/symlink');
引数(parameters)
path, options = undefined
- path: string: 解決するファイルパス
- options: object | undefined: オプションを指定するオブジェクト。未指定の場合はデフォルト値が使用されます
戻り値(return)
<string> | <Buffer>
指定されたパスの絶対パスを返します。パスは文字列またはBuffer形式で取得できます。