// Oracle Instant Client(thick 모드)는 libnnz 등 의존 라이브러리를 LD_LIBRARY_PATH 로 찾는다. // LD_LIBRARY_PATH 는 프로세스 시작 시점에만 읽히므로, 누락 시 동일 인자로 한 번 재실행한다. // 진입점(daemon.js, cli.js) 최상단에서 가장 먼저 import 할 것. import { spawnSync } from 'node:child_process'; const IC = process.env.ORACLE_IC_LIB_DIR || '/home/opc/oracle-ic/instantclient_23_26'; const current = (process.env.LD_LIBRARY_PATH || '').split(':').filter(Boolean); if (!current.includes(IC)) { const env = { ...process.env, LD_LIBRARY_PATH: [IC, ...current].join(':'), }; const result = spawnSync(process.execPath, process.argv.slice(1), { stdio: 'inherit', env, }); process.exit(result.status ?? 1); }