diff --git a/interop/src/interop/loadLibraries.ts b/interop/src/interop/loadLibraries.ts index 6e5ff11eed69590c7c803b1c851a5ea7a3d4b513..a91b88cd34b5407c91d5370108e14a03de790cc6 100644 --- a/interop/src/interop/loadLibraries.ts +++ b/interop/src/interop/loadLibraries.ts @@ -28,7 +28,7 @@ export function loadNativeLibrary(name: string): Record { const errors: { candidate: string, command: string, error: any }[] = [] if (!isHZVM) try { - candidates.push(eval(`require.resolve("${nameWithoutSuffix}.node")`)) + candidates.push(eval(`require.resolve(${JSON.stringify((nameWithoutSuffix + ".node"))})`)) } catch (e) { errors.push({ candidate: `${nameWithoutSuffix}.node`, command: `resolve(...)`, error: e }) } @@ -38,7 +38,7 @@ export function loadNativeLibrary(name: string): Record { if (isHZVM) return (globalThis as any).requireNapi(candidate, true) else - return eval(`let exports = {}; process.dlopen({ exports }, "${candidate}", 2); exports`) + return eval(`let exports = {}; process.dlopen({ exports }, ${JSON.stringify(candidate)}, 2); exports`) } catch (e) { errors.push({ candidate: candidate, command: `dlopen`, error: e }) }