【Node.js24.x】Object::symlinkSync()メソッドの使い方
symlinkSyncメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
symlinkSyncメソッドは、Node.jsのfsモジュールに属し、シンボリックリンクを同期的に作成するメソッドです。シンボリックリンクとは、ファイルやディレクトリの実体がある場所とは異なる場所に、その実体を参照する別名(WindowsのショートカットやmacOS/Linuxのエイリアスのようなもの)を作成する機能です。このメソッドを利用することで、実体をコピーすることなく、別の場所から同じファイルやディレクトリにアクセスできるようになります。
このメソッドは、第一引数にリンクの参照元となるtargetパス(実体へのパス)、第二引数に新しく作成するシンボリックリンクのpath(別名のパス)、そして第三引数にリンクのtype(種類)を指定します。typeには、'file'(ファイルへのリンク)、'dir'(ディレクトリへのリンク)、またはWindows環境で特に使用される'junction'(ディレクトリへのジャンクションリンク)のいずれかを指定する必要があります。このタイプ指定は、特にWindows環境での挙動や互換性に影響を与えます。
同期版であるため、シンボリックリンクの作成処理が完了するまで、Node.jsプログラムのメインスレッドの実行は一時的に停止(ブロック)されます。これにより、処理が終了するまで次のコードが実行されることはありません。処理が成功した場合は何も返しませんが、指定されたパスが存在しない場合やパーミッションの問題など、何らかのエラーが発生した場合は例外がスローされ、プログラムの実行が中断される可能性があります。そのため、try-catch文などを用いてエラーハンドリングを行うことが推奨されます。非同期版のfs.symlink()とは異なり、コールバック関数やPromiseを使った非同期処理を待つ必要がないため、簡単なスクリプトや起動時の処理で便利に利用できます。ただし、リンク元が移動または削除されると、作成したシンボリックリンクは機能しなくなる点に注意が必要です。
構文(syntax)
1const fs = require('node:fs'); 2 3fs.symlinkSync('path/to/original_target', 'path/to/new_link', 'file');
引数(parameters)
target, path, type
- target: string: シンボリックリンクが指し示す元のファイルまたはディレクトリのパス
- path: string: 作成するシンボリックリンクのパス
- type?: string: シンボリックリンクの種類 ('dir', 'file', 'junction')。省略可能で、指定しない場合は自動的に判断されます。
戻り値(return)
戻り値なし
戻り値はありません