From 490f5593064cf6fe78f8041ed12f5ccdd03fbcad Mon Sep 17 00:00:00 2001 From: xmk23333 Date: Thu, 15 Jan 2026 22:10:51 +0800 Subject: [PATCH] fix: correct musl detection and clean other platform node files --- scripts/prepare.mjs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/scripts/prepare.mjs b/scripts/prepare.mjs index ad5b45d..2f195f7 100644 --- a/scripts/prepare.mjs +++ b/scripts/prepare.mjs @@ -324,10 +324,11 @@ function getSysproxyNodeName() { const isMusl = (() => { if (platform !== 'linux') return false try { - const lddPath = require('child_process').execSync('which ldd').toString().trim() - return fs.readFileSync(lddPath, 'utf8').includes('musl') + // 通过 ldd --version 输出判断是否为 musl + const output = execSync('ldd --version 2>&1 || true').toString() + return output.includes('musl') } catch { - return true + return false } })() @@ -360,6 +361,16 @@ const resolveSysproxy = async () => { const targetPath = path.join(sidecarDir, nodeName) fs.mkdirSync(sidecarDir, { recursive: true }) + + // 清理其他平台的 .node 文件 + const files = fs.readdirSync(sidecarDir) + for (const file of files) { + if (file.endsWith('.node') && file !== nodeName) { + fs.rmSync(path.join(sidecarDir, file)) + console.log(`[INFO]: removed ${file}`) + } + } + if (fs.existsSync(targetPath)) { fs.rmSync(targetPath) }